社区讨论
神奇的2~9测例WA,求dalao解释~~
P1042[NOIP 2003 普及组] 乒乓球参与者 9已保存回复 13
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 13 条
- 当前快照
- 1 份
- 快照标识符
- @mi7utwis
- 此快照首次捕获于
- 2025/11/21 03:58 4 个月前
- 此快照最后确认于
- 2025/11/21 04:05 4 个月前
我对模拟题产生了心理阴影!
我真的佛了。orz
一直WA2~9测例。下下来测例的结果也完全一致。
在
Celse后面加上else if(str[i] == 'L') 突然就过辣://原来是
if(str[i] == 'W') le++;
else ri++;
//改为
if(str[i] == 'W') le++;
else if(str[i] == 'L') ri++;
我明明都过滤了所有的
\n,难道字符串里面除了W和L还能是别的???然而当我单独验证的时候,除了字符串里面确实只有W和L。。最后附上AC代码。。
C//AC代码
#include <bits/stdc++.h>
using namespace std;
int main(){
char c;
char str[1000005];
int index = 0;
while((c=getchar()) != 'E'){
if(c == '\n') continue;
str[index++] = c;
}
int le = 0, ri = 0;
for(int i = 0; i < index; i++){ //11分制
if(str[i] == 'W') le++;
else if(str[i] == 'L') ri++;
if(( le>=11 || ri>=11 ) && abs(le-ri)>=2 ){
cout<<le<<":"<<ri<<endl; le = ri = 0;
}
}
cout<<le<<":"<<ri<<endl<<endl; le = ri = 0;
for(int i = 0; i < index; i++){ //21分制
if(str[i] == 'W') le++;
else if(str[i] == 'L') ri++;
if(( le>=21 || ri>=21 ) && abs(le-ri)>=2 ){
cout<<le<<":"<<ri<<endl; le = ri = 0;
}
}
cout<<le<<":"<<ri<<endl;
return 0;
}
什!么!鬼!
求助各位dalao!!!
回复
共 13 条回复,欢迎继续交流。
正在加载回复...