为什么输出结果在两地不一样???
查看原帖
为什么输出结果在两地不一样???
611895
lgcsxy楼主2021/11/13 23:28

在我自己电脑上运行的结果和测试结果一致, 而在洛谷上运行则出现了问题?

#include<stdio.h>
#include<stdlib.h>
int main() {
	int k = 1,j=1;
	char ch = 'n', m1[1000] = { 0 }, d1[1000] = { 0 }, m2[1000] = { 0 }, d2[1000] = { 0 };
	while (1) {
		ch = getchar();
		if (m1[k] <= 10 && d1[k] <= 10 || abs(m1[k] - d1[k]) < 2) {
			if (ch == 'W')
				m1[k]++;
			else if (ch == 'L')
				d1[k]++;
		}
		else if (ch == '\n');
		else {
			if (m1[k] > d1[k]&&ch=='W')
				m1[k + 1]++;
			else
				d1[k + 1]++;
			k++;
		}
		if (m2[j] <= 20 && d2[j] <= 20 || abs(m2[j] - d2[j]) < 2) {
			if (ch == 'W')
				m2[j]++;
			else if (ch == 'L')
				d2[j]++;
		}
		else if (ch == '\n');
		else {
			if (m2[j] > d2[j] && ch == 'W')
				m2[j + 1]++;
			else
				d2[j + 1]++;
			j++;
		}
		if (ch == 'E')
			break;
	}
	int mm = 1,jj=1;
	for (; mm <= k; mm++) {
		printf("%d:%d\n", m1[mm], d1[mm]);
	}
	printf("\n");
	for (; jj <= j; jj++) {
		printf("%d:%d\n", m2[jj], d2[jj]);
	}
	return 0;
}

2021/11/13 23:28
加载中...