90分求助,最后一个点WA了
查看原帖
90分求助,最后一个点WA了
1069816
Tsuki091117楼主2023/8/22 15:33

谁有#10的数据能分享一下,或者帮我看看代码哪有问题,我下载数据次数超了

#include<bits/stdc++.h>
using namespace std;
string s;
char c;
long long e[63000][5],t[63000][5];//e表示11分制的比分,t表示21分制的比分 
long long len,x,p,q,y;
int main(){
    ios::sync_with_stdio(false);
	while(1){
		cin>>c;
		if(c=='E'){
			break;
		}
		else{
			s+=c;
		}
	} 
	for(int i=0;i<s.size();i++){
		if(s[i]=='W'){
			e[x][1]++;//华华第x场的比分 (11分制) 
			t[y][1]++;//华华第y场的比分 (21分制) 
			if((e[x][1]>=11||e[x][2]>=11)&&abs(e[x][1]-e[x][2])>=2){
				x++;//如果比完一场,x++ 
			}
			if((t[y][1]>=21||t[y][2]>=21)&&abs(t[y][1]-t[y][2])>=2){
				y++;//如果比完一场,y++ 
			}
		}
		else if(s[i]=='L'){
			e[x][2]++;//华华对手第x场的比分 (11分制)
			t[y][2]++;//华华对手第y场的比分 (21分制)
			if((e[x][1]>=11||e[x][2]>=11)&&abs(e[x][1]-e[x][2])>=2){
				x++;//如果比完一场,x++ 
			}
			if((t[y][1]>=21||t[y][2]>=21)&&abs(t[y][1]-t[y][2])>=2){
				y++;//如果比完一场,y++ 
			}
		}
	}
	if(s.size()%11!=0){
		x++;//如果最后一局不满11,x++ 
	}
	if(s.size()%21!=0){
		y++;//如果最后一局不满21,x++ 
	} 
	for(int i=0;i<x;i++){
		cout<<e[i][1]<<":"<<e[i][2]<<endl; //输出每一局的比分 
	}
	if(x==0){
		cout<<"0:0"<<endl;
	}
	cout<<endl;
	if(y==0){
		cout<<"0:0";
	}
	for(int i=0;i<y;i++){
		cout<<t[i][1]<<":"<<t[i][2]<<endl;//输出每一局的比分 
	}
	return 0;
}
//WWWWWWWWWWWWWWWWWWWW
//WWLWE
2023/8/22 15:33
加载中...