永远输出-1求助

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

第8行是什么玩意啊 ```y[k]=y[k]='A'+'a';```
by Night_fall @ 2023-08-22 20:01:02


转小写可以试试 ```y[k]+=32``` 或 ```y[k]=y[k]-'A'+'a'```
by Night_fall @ 2023-08-22 20:02:19


@[可爱的甜甜猫](/user/693507) 转小写错了吧
by only_joker @ 2023-08-22 20:05:42


@[only_joker](/user/719140) 改了20 ```cpp #include<bits/stdc++.h> using namespace std; string s,t; int sum=0,cnt=0,ans=-1; string f(string y){ for(int k=0;k<y.size();k++){ if(y[k]>='A'&&y[k]<='Z'){ y[k]=y[k]-'A'+'a'; } } return y; } int main(){ cin>>s; cin>>t; if(f(s)==f(t)){ cnt++; if(ans==-1)ans=sum; } sum+=t.size(); while(cin>>t){ if(f(s)==f(t)){ cnt++; if(ans==-1)ans=sum; } sum+=1+t.size(); } if(ans==-1)cout<<-1; else{ cout<<cnt<<" "<<ans; } return 0; } ```
by 可爱的甜甜猫 @ 2023-08-22 20:22:57


@[可爱的甜甜猫](/user/693507) 你可以换个思路,比如一个值记录这个词出现的次数,如果出现次数等于0,输出-1结束程序,否则输出次数和第一次的位置
by only_joker @ 2023-08-22 20:29:15


@[可爱的甜甜猫](/user/693507) 帮你下载了第一个数据 ``` td Td tLWCsrmt ``` Td前面有两个空格,也算长度,所以答案是1 2 而你的代码没有算空格,所以算出来是 1 0
by yxy666 @ 2023-08-22 20:31:50


@[only_joker](/user/719140) 我的不就是这个思路吗
by 可爱的甜甜猫 @ 2023-08-22 20:32:37


@[yxy666](/user/370354) 我懂了
by 可爱的甜甜猫 @ 2023-08-22 20:33:06


@[yxy666](/user/370354) 正解
by only_joker @ 2023-08-22 20:33:26


@[可爱的甜甜猫](/user/693507) 求关求关
by yxy666 @ 2023-08-22 20:34:06


| 下一页