[求助]最后一个测试点过不了
查看原帖
[求助]最后一个测试点过不了
935188
cykzzz1楼主2023/2/8 19:55
#include <iostream>
#include <math.h>
using namespace std;

int arr[65535];

int main()
{
	int count = 0, ans = 0;//计数
	int W = 0, L = 0;
	char s = 0;
  //输入
	while (true)
	{
		cin >> s;
		if (s == 'E')
		{
			break;
		}
		if (s == 'W')
		{
			arr[count] = 1;
		}
		else
		{
			arr[count] = 0;
		}
		count++;
	}

  //是否一个球都没打
	if (count != 0)
	{
  		//11分制
		while (true)
		{
			for (W = 0, L = 0; W < 11 && L < 11;)
			{
				if (arr[ans] == 1) W++;
				else L++;
				ans++;
				if (ans == count) break;
			}
			if (abs(W - L) < 2 && ans != count)
			{
				while (true)
				{
					if (arr[ans] == 1) W++;
					else L++;
					ans++;
					if (abs(W - L) >= 2) break;
					if (ans == count) break;
				}
			}
			cout << W << ":" << L << endl;
			if (ans == count) break;
		}
		ans = 0; cout << endl;
  
  		//21分制
		while (true)
		{
			for (W = 0, L = 0; W < 21 && L < 21;)
			{
				if (arr[ans] == 1) W++;
				else L++;
				ans++;
				if (ans == count) break;
			}
			if (abs(W - L) < 2 && ans != count)
			{
				while (true)
				{
					if (arr[ans] == 1) W++;
					else L++;
					ans++;
					if (abs(W - L) >= 2) break;
					if (ans == count) break;
				}
			}
			cout << W << ":" << L << endl;
			W = 0; L = 0;
			if (ans == count) break;
		}
	}
	else
	{
		cout << "0:0" << endl;
		cout << endl;
		cout << "0:0" << endl;
	}
	return 0;
}
2023/2/8 19:55
加载中...