tongtong2012 @ 2024-06-09 19:55:15
#include<bits/stdc++.h>
using namespace std;
string s,t;
int main(){
int l;
while(cin>>t){
s+=t,l=s.length();
if(s[l-1]=='E'){
l--;
break;
}
}
int a=0,b=0;
for(int i=0;i<l;i++){
if(s[i]=='W')a++;
else b++;
if((a==11||b==11)&&abs(a-b)>1){
cout<<a<<':'<<b<<'\n';
a=0,b=0;
}
}
if(a!=0||b!=0)cout<<a<<':'<<b<<'\n';
cout<<'\n';
a=0,b=0;
for(int i=0;i<l;i++){
if(s[i]=='W')a++;
else b++;
if((a==21||b==21)&&abs(a-b)>1){
cout<<a<<':'<<b<<'\n';
a=0,b=0;
}
}
if(a!=0||b!=0)cout<<a<<':'<<b<<'\n';
return 0;
}
by QBW1117 @ 2024-06-09 20:09:40
#include<bits/stdc++.h>
using namespace std;
string s,t;
int main(){
int l;
while(cin>>t) s+=t,l=s.length();
int a=0,b=0;
for(int i=0;s[i]!='E';i++){
if(s[i]=='W')a++;
else b++;
if((a>=11||b>=11)&&abs(a-b)>=2){
cout<<a<<':'<<b<<'\n';
a=0,b=0;
}
}
cout<<a<<':'<<b<<'\n';
cout<<'\n';
a=0,b=0;
for(int i=0;s[i]!='E';i++){
if(s[i]=='W')a++;
else b++;
if((a>=21||b>=21)&&abs(a-b)>=2){
cout<<a<<':'<<b<<'\n';
a=0,b=0;
}
}
cout<<a<<':'<<b<<'\n';
return 0;
}
by QBW1117 @ 2024-06-09 20:11:20
解释一下
把 ==11 和==21 改成>= 因为题目说的是大于等于11且分差大于等于二
其次那个输入部分写复杂了,完全没必要,见循环部分,特判一下就可以了,
还有a!=0 || b!=0也可以删去
by QBW1117 @ 2024-06-09 20:12:46
@tongtong2012
不要脸的求个关
by tongtong2012 @ 2024-06-09 20:13:00
@QBW1117 谢谢dalao,已关
by tongtong2012 @ 2024-06-09 20:14:57
@QBW1117 不过如果把特判删了,不会输出超限吗?求dalao再详细解释一下
by tongtong2012 @ 2024-06-09 20:16:15
@QBW1117 现在是80pts
by QBW1117 @ 2024-06-09 20:18:46
@tongtong2012
#include<bits/stdc++.h>
using namespace std;
string s,t;
int main(){
int l;
while(cin>>t) s+=t,l=s.length();
int a=0,b=0;
for(int i=0;s[i]!='E';i++){
if(s[i]=='W')a++;
else b++;
if((a>=11||b>=11)&&abs(a-b)>=2){
cout<<a<<':'<<b<<'\n';
a=0,b=0;
}
}
cout<<a<<':'<<b<<'\n';
cout<<'\n';
a=0,b=0;
for(int i=0;s[i]!='E';i++){
if(s[i]=='W')a++;
else b++;
if((a>=21||b>=21)&&abs(a-b)>=2){
cout<<a<<':'<<b<<'\n';
a=0,b=0;
}
}
cout<<a<<':'<<b<<'\n';
return 0;
}
这份代码100,here
by tongtong2012 @ 2024-06-09 20:21:04
@QBW1117 再送2关
by QBW1117 @ 2024-06-09 20:23:18
不好意思,
记录