川のブログ

川の適当気ままなブログです。 

AOJ 0538 IOIOI

こんにちは川です。

今回は、一つ一つ調べていくと間に合いません。

なので、調べられるところまで調べたらそこまで調べた処理を加える?みたいなことをしています。とりあえず見てください。

 

ソースコード

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    while(cin>>n,n){
        int siz,ans=0;
        string str;
        cin>>siz>>str;
        for(int i=0;i<siz-2*n;i++){
            if(str[i]=='I'){
                int co=0;
                for(int j=i+1;j<siz;j+=2,co++)
                    if(str[j]!='O'||str[j+1]!='I')break;
                if(co>=n){
                    ans+=co-n+1;
                    i+=2*co;
                }
            }
        }
        cout<<ans<<endl;
    }
}