DongXD @ 2024-09-25 22:33:07
1,10对,用第二个点的数据自己带入,输出行数和字符数都一样,可就是WA
#include <bits/stdc++.h>
using namespace std;
void solve(int* sc,int max,int len) {
int w=0,l=0;
for(int i=0;i<len;i++){
if(sc[i]==1){
w++;
}else if(sc[i]==-1){
l++;
}
if ((w >= max || l >= max) && abs(w - l) >= 2){
cout<<w<<':'<<l<<endl;
w=0;
l=0;
}
if(sc[i]==0){
break;
}
}
cout<<w<<':'<<l<<endl;
}
int main() {
string a,ma;
while(getline(cin,a)){
ma+=a;
}
int sc[62525]={0},l=0;
for(int i=0;i<ma.size();i++){
if(ma[i]=='W'){
sc[i]=1;
l++;
}else if(ma[i]=='L'){
sc[i]=-1;
l++;
}else if(ma[i]=='E'){
break;
}
}
solve(sc,11,l);
cout<<endl;
solve(sc,21,l);
return 0;
}
by hyl_____ @ 2024-09-25 22:51:29
#include <bits/stdc++.h>
using namespace std;
void solve(int* sc,int max,int len) {
int w=0,l=0;
for(int i=0;i<len;i++){
if(sc[i]==1){
w++;
}else if(sc[i]==-1){
l++;
}
if ((w >= max || l >= max) && abs(w - l) >= 2){
cout<<w<<':'<<l<<endl;
w=0;
l=0;
}
if(sc[i]==0){
break;
}
}
cout<<w<<':'<<l<<endl;
}
int main() {
char a;
string ma;
bool flag=true;
while(flag){
a=getchar();
if(a==EOF){
flag=false; break;
}
if(a=='W'||a=='L'||a=='E') ma+=a;
}
int sc[62525]={0},l=0;
for(int i=0;i<ma.size();i++){
if(ma[i]=='W'){
sc[i]=1;
l++;
}else if(ma[i]=='L'){
sc[i]=-1;
l++;
}else if(ma[i]=='E'){
break;
}
}
solve(sc,11,l);
cout<<endl;
solve(sc,21,l);
return 0;
}
洛谷输入问题 @DongXD
by DongXD @ 2024-09-26 14:07:35
@hyl_____ 具体是啥问题大佬能细说吗
by hyl_____ @ 2024-09-26 21:42:30
@DongXD 可能是系统不一样,洛谷评测机是 linux 系统,可能文件源码格式和 windows 不太一样,导致输入错误。 @DongXD