40分大佬求调TT #2#3#4#5#6#7
查看原帖
40分大佬求调TT #2#3#4#5#6#7
1574492
UNlimited_ovo楼主2024/11/12 18:06

rt

#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
	vector<char> a;
	char put=' ';
	while(put!='E')
	{
		cin>>put;
		a.push_back(put);
	}
	vector<vector<int>> wl11;//记录11分的比分 二维数组
	vector<vector<int>> wl21;//记录21分的比分
	int w11=0,l11=0,w21=0,l21=0;//记录11分的己方比分;对方比分;12分的己方比分;对方比分
	bool f11=false,f21=false;
	for(vector<char>::iterator it=a.begin();it!=a.end();++it)//遍历输入的字符
	{
		f11=false;
		f21=false;
		if(*it=='W') //记录己方胜利的局数
		{
			w11++;
			w21++;
		}
		    else if(*it=='L')//记录对方赢的局数
		    {
		    	l11++;
		    	l21++;
			}
		if(((w11==11)||(l11==11))&&(abs(w11-l11)>=2))//达到胜利的条件 将比分情况计入数组 清空比分
		{
			wl11.push_back({w11,l11});
			w11=0;
		    l11=0;
		}else if(((w21==21)||(l21==21))&&(abs(w21-l21)>=2))//同上 21分制
		{
			wl21.push_back({w21,l21});
			w21=0;
			l21=0;
		}	
	}
	//存入未完成的局数 当w21和l21有数据的时候存入
	wl21.push_back({w21,l21});
	wl11.push_back({w11,l11});
    int n=wl11.size();//数组长度 用于遍历
	for(int i=0;i<n;i++)
	{
		int b1=wl11[i][0],b2=wl11[i][1];//输出比分
		cout<<b1<<":"<<b2<<endl;
	}	
	cout<<endl;
	n=wl21.size();
	for(int i=0;i<n;i++)
	{
		int b1=wl21[i][0],b2=wl21[i][1];
		cout<<b1<<":"<<b2<<endl;
	}
	return 0;
}
2024/11/12 18:06
加载中...