各位大佬帮看看,哪错了?

我用的是模拟算法,答案错误。。。

#include <bits/stdc++.h>
using namespace std;
int f,ans_f,maxn,cnt,i,j,k;
string s;
int main(){
//  freopen("js.in","r",stdin);
    cin>>k;
    k++;
    while(k--){
        f=cnt=maxn=0;
        getline(cin,s);

        for(i=0;i<s.length();++i){        //查找最多的'a' 
            if(s[i]=='.'){
                if(cnt>maxn){
                    maxn=cnt;
                    ans_f=f;
                }
                break;
            }
            if(s[i]=='a') cnt++;
            if(s[i]==' '){
                f++;
                if(cnt>maxn){
                    maxn=cnt;
                    ans_f=f;
                }
                cnt=0;
            }
        }

        for(i=0;i<s.length();++i){
            if(ans_f-1==0){
                j=i;
                while(1){
                    if(s[j]==' ' || s[j]=='.') break;
                    cout<<s[j++];
                }
                cout<<endl;
                break;
            }
            if(s[i]==' ') ans_f--;
        }
    }
    return 0;
}
/*
2
to be or not to be is a question.

a
wo niu bi wo wei da wo he wo ma pao wo ba.

da
*/

2019-07-27 10:36:44
楼主

最后的注释是我自己的测试数据


2019-07-27 10:37:25
1 楼