cqxingyun @ 2024-09-12 18:55:50
#include<bits/stdc++.h>
using namespace std;
struct yh{
string s;
}a[2505];
int main(){
int i = 0,w = 0,l = 0;bool b = false;
while(++i){
cin>>a[i].s;
for(int j = 0;j<25;j++){
if(a[i].s[j] == 'E'){
cout<<w<<":"<<l<<endl;
if(w+l == 11 && abs(w-l)>=2){
printf("0:0\n");
}
b = true;
}else if(a[i].s[j] == 'W'){
w++;
if(w+l == 11 && abs(w-l)>=2){
printf("%d:%d\n",w,l);
w = 0;l = 0;
}
}else if(a[i].s[j] == 'L'){
l++;
if(w+l == 11 && abs(w-l)>=2){
printf("%d:%d\n",w,l);
l = 0;w = 0;
}
}
if(b){
break;
}
}
if(b){
break;
}
}
i = 0,w = 0,l = 0;
printf("\n");
while(++i){
for(int j = 0;j<25;j++){
if(a[i].s[j] == 'E'){
cout<<w<<":"<<l<<endl;
if(w+l == 21 && abs(w-l)>=2){
printf("0:0\n");
}
return 0;
}else if(a[i].s[j] == 'W'){
w++;
if(w+l == 21 && abs(w-l)>=2){
printf("%d:%d\n",w,l);
w = 0;l = 0;
}
}else if(a[i].s[j] == 'L'){
l++;
if(w+l == 21 && abs(w-l)>=2){
printf("%d:%d\n",w,l);
l = 0;w = 0;
}
}
}
}
return 0;
}
可能结构体是多此一举了
by L_V_ @ 2024-09-12 19:45:33
题目大概意思:输入字符(我们设他为s),当s为‘E’不在输入,你需要统计‘W’和‘L’的出现次数,若某样的次数大于等于11或21并且两样的出现次数相差不超过2时,就算这次统计成功,开始下一个统计,从判断完的位置下一个开始从新计数(可能有点讲不明白)
by L_V_ @ 2024-09-12 19:46:13
你的题目理解错了
by L_V_ @ 2024-09-12 19:47:51
若是还不会的话,可以看题解
by L_V_ @ 2024-09-12 19:49:45
当然,也可以找我要代码,但没有注释
by L_V_ @ 2024-09-12 19:52:46
不过竟然还有60分,数据太水了吧
by L_V_ @ 2024-09-12 19:54:45
只需要一次输入
by cqxingyun @ 2024-09-12 21:09:10
@LV 懂了,谢谢
by L_V_ @ 2024-09-13 13:00:14
@cqxingyun 不用谢哈哈