20分求助2,完全不知道错哪里了

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

我写的``` #include<bits/stdc++.h> using namespace std; string a,b; int ans1,ans2; void hs(){ int ans=0;int ansx=0; for(int i=0;i<b.length();i++){ if(b[i]==(char)(toupper(a[0]))||b[i]==(char)(tolower(a[0]))){ if(i==0){ if(b[i+1]==' '){ ans++;ansx=i; } continue; } if(b[i-1]==' '&&b[i+1]==' '){ ans++; if(ans==1){ ansx=i; } } } } if(ans>0){ cout<<ans<<" "<<ansx; } else{ cout<<-1; } } int main(){ int cc=1; getline(cin,a);getline(cin,b); if(a.length()==1){ hs(); return 0; } //cout<<a<<endl<<b; for(int i=0;i<b.length();i++){ if(b[i]==' '){ cc=1;continue; } if(cc==1) { if(b[i]==(char)(tolower(a[0]))||b[i]==(char)(toupper(a[0]))){ // cout<<"检测到首字母相同:"<<i<<endl; int flag=1; if(b[i+a.length()-1+1]!=' '){ continue; } for(int j=i+1,k=1;j<=i+a.length()-1;j++,k++){ if(a[k]!=(char)(tolower(b[j]))&&a[k]!=(char)(toupper(b[j]))){ //cout<<b[j]<<endl; flag=0;break; } } if(flag==1){ ans1++; if(ans1==1){ ans2=i; } } } } cc=0; } if(ans1==0){ cout<<-1;return 0; } cout<<ans1<<" "<<ans2; return 0; } ```
by canwen2 @ 2024-04-17 23:22:55


@[canwen2](/user/1284815) ``` #include<bits/stdc++.h> using namespace std; string a,b; int ans1,ans2; void hs(){ int ans=0;int ansx=0; for(int i=0;i<b.length();i++){ if(b[i]==(char)(toupper(a[0]))||b[i]==(char)(tolower(a[0]))){ if(i==0){ if(b[i+1]==' '){ ans++;ansx=i; } continue; } if(b[i-1]==' '&&b[i+1]==' '){ ans++; if(ans==1){ ansx=i; } } } } if(ans>0){ cout<<ans<<" "<<ansx; } else{ cout<<-1; } } int main(){ int cc=1; getline(cin,a);getline(cin,b); if(a.length()==1){ hs(); return 0; } //cout<<a<<endl<<b; for(int i=0;i<b.length();i++){ if(b[i]==' '){ cc=1;continue; } if(cc==1) { if(b[i]==(char)(tolower(a[0]))||b[i]==(char)(toupper(a[0]))){ // cout<<"检测到首字母相同:"<<i<<endl; int flag=1; if(b[i+a.length()-1+1]!=' '){ continue; } for(int j=i+1,k=1;j<=i+a.length()-1;j++,k++){ if(a[k]!=(char)(tolower(b[j]))&&a[k]!=(char)(toupper(b[j]))){ //cout<<b[j]<<endl; flag=0;break; } } if(flag==1){ ans1++; if(ans1==1){ ans2=i; } } } } cc=0; } if(ans1==0){ cout<<-1;return 0; } cout<<ans1<<" "<<ans2; return 0; } ```
by canwen2 @ 2024-04-17 23:23:16


|