1. 程式人生 > >[luoguP1042] 乒乓球(模擬)

[luoguP1042] 乒乓球(模擬)

乒乓球 char nbsp light 代碼 main pro else 傳送門

傳送門

終於過了這sb題了。

當初我連這道題都A不了(╯▔皿▔)╯

代碼

#include <cstdio>
#include <iostream>
#define N 1000001
#define abs(x) ((x) < 0 ? -(x) : (x))

int n = 1, sum1, sum2;
char s[N];

int main()
{
	int i;
	while(std::cin >> s[n])
		if(s[n] == ‘E‘) break;
		else n++;
	n--;
	for(i = 1; i <= n; i++)
	{
		s[i] == ‘W‘ ? sum1++ : sum2++;
		if((sum1 >= 11 && abs(sum1 - sum2) >= 2) || (sum2 >= 11 && abs(sum1 - sum2) >= 2))
		{
			printf("%d:%d\n", sum1, sum2);
			sum1 = sum2 = 0;
		}
	}
	printf("%d:%d\n", sum1, sum2);
	sum1 = sum2 = 0;
	puts("");
	for(i = 1; i <= n; i++)
	{
		s[i] == ‘W‘ ? sum1++ : sum2++;
		if((sum1 >= 21 && abs(sum1 - sum2) >= 2) || (sum2 >= 21 && abs(sum1 - sum2) >= 2))
		{
			printf("%d:%d\n", sum1, sum2);
			sum1 = sum2 = 0;
		}
	}
	printf("%d:%d\n", sum1, sum2);
	return 0;
}

  

[luoguP1042] 乒乓球(模擬)