蒟蒻60分求助

P1308 [NOIP2011 普及组] 统计单词数

@[Maysoul](/user/409774) ``` to to to ``` 输出应该是 `2 0` 吧?
by Trinitrotoluene @ 2023-03-20 20:29:18


@[Maysoul](/user/409774) ``` #include<bits/stdc++.h> using namespace std; int main() { string a,b; bool flag=1,flag1=1; int num=0,fst=0; getline(cin,a); getline(cin,b); for (int i=0;i<b.length();i++) { if(a[0]==b[i]||a[0]+32==b[i]||a[0]-32==b[i]) { if(b[i-1]!=' '&&i) continue; int k=a.length(); for (int j=1;j<k;j++) { if(a[j]!=b[i+j]&&a[j]+32!=b[i+j]&&a[j]-32!=b[i+j]) { flag=0; break; } } if(flag==1&&b[k+i]==' ') { if(flag1) { fst=i; flag1=0; } num++; } flag=1; } } if(num==0) cout<<"-1"<<endl; else cout<<num<<" "<<fst<<endl; } ```
by bzzltl @ 2023-03-22 20:54:09


@[Maysoul](/user/409774) ``` t tt t ``` 这样的数据会出错,因为你的`b`数组是一位一位来的,例如上面的数据,当`i`循环到 1 这个位置时,满足`b[2]=' '`,你的代码就会出现错误,所以后面直接判断一下就好了。
by bzzltl @ 2023-03-22 21:04:17


|