アットウィキロゴ

joi2009h1.c

  1. //あのioiioioioioioioみたいなやつ
  2.  
  3. #include<stdio.h>
  4. int main(){
  5. FILE *fpin = fopen("input.txt","r");
  6. long i,j,m,n,x,s=0;
  7. char c[100000];
  8. fscanf(fpin,"%ld",&m);
  9. //m=1ならioi
  10. fscanf(fpin,"%ld",&n);
  11. //nは文字数とする
  12. x=2*m+1;
  13. fscanf(fpin,"%s",c);
  14. for(i=0;i<n-x;i++){
  15. for(j=i;j<i+x;j++){
  16. if((j-i)%2==0&&c[j]!='I'){break;}
  17. if((j-i)%2==1&&c[j]!='O'){break;}
  18. if(j==x+i-1){
  19. s++;
  20. }
  21. }
  22. }
  23. printf("%ld",s);
  24. return 1;
  25. }
  26.  
  27. // fscanf 関数で一気に取り込める文字数の上限が BCC では,int の最大値
  28. // だったので,fgetc を使って一文字ずつ取り込むように変更したほうが
  29. // よいようです。 gcc だとどうなるのかな?
最終更新:2009年11月01日 21:48
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。