蒟蒻求助,本地与在线IDE结果均正确,但还是WA
查看原帖
蒟蒻求助,本地与在线IDE结果均正确,但还是WA
587241
pioupiou493楼主2021/11/15 10:21
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
char ch[2501][26] = { 0 };

int main()
{
	int i = 0, r = 0;
	int sum1 = 0, sum2 = 0;
	int* a = (int*)malloc(25 * sizeof(int));

	while (1)
	{
		for (r = 0; r < 25; r++)
		{
			scanf("%c",&ch[i][r]);
			if (ch[i][r] == 'E'||ch[i][r]=='\n')
			{
				a[i] = r;
				break;
			}
			else;
		}

		if (ch[i][r] == 'E')
		{
			break;
		}
		else;
		
		i++;
	}
	a[i] = r;
	int d = i + 1;

	for (i = 0; i < d; i++)
	{
		for (r = 0; r < a[i]; r++)
		{
			if (ch[i][r] == 'W')
			{
				sum1++;
			}
			else if (ch[i][r] == 'L')
			{
				sum2++;
			}
			else if (ch[i][r] == 'E')
			{
				break;
			}
			else;

			if ((sum1>=11||sum2>=11) && fabs(sum1 - sum2) >= 2)
			{
				printf("%d:%d\n", sum1, sum2);
				sum1 = 0;
				sum2 = 0;
			}
			else;
		}

		if (ch[i][r] == 'E')
		{
			break;
		}
		else;
	}

	printf("%d:%d\n\n", sum1, sum2);
	sum1 = 0, sum2 = 0;

	for (i = 0; i < d; i++)
	{
		for (r = 0; r < a[i]; r++)
		{
			if (ch[i][r] == 'W')
			{
				sum1++;
			}
			else if (ch[i][r] == 'L')
			{
				sum2++;
			}
			else if (ch[i][r] == 'E')
			{
				break;
			}
			else;

			if ((sum1>=21||sum2>=21) && fabs(sum1 - sum2) >= 2)
			{
				printf("%d:%d\n", sum1, sum2);
				sum1 = 0;
				sum2 = 0;
			}
			else;
		}

		if (ch[i][r] == 'E')
		{
			break;
		}
		else;
	}

	printf("%d:%d", sum1, sum2);

	return 0;
	

}

第二个测试点错误原因:第一行第四列读取了7,应为3; 本地与在线IDE第一行结果为11:3

2021/11/15 10:21
加载中...