C语言WA#4求助(题解三个测试样例已过)
  • 板块CF2A Winner
  • 楼主Kotori_Kawaii
  • 当前回复12
  • 已保存回复12
  • 发布时间2023/11/1 13:30
  • 上次更新2023/11/2 10:26:49
查看原帖
C语言WA#4求助(题解三个测试样例已过)
1053560
Kotori_Kawaii楼主2023/11/1 13:30
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>

int main()
{
	int n;
	int b[1005] = { 0 };
	int sum[100] = { 0 };
	int max[100] = { 0 };
	int cnt[100][1005] = { 0 };
	struct win {
		char a[35];
		int p;
		int level;
	}q[1005];
	scanf("%d", &n);

	for (int i = 1; i <= n; i++) {
		scanf("%s%d", q[i].a, &q[i].p);
		q[i].level = i;
	}
	for (int i = 1; i <= n; i++) {
		if (b[i] == 0) {
			for (int j = i; j <= n; j++) {
				if (!strcmp(q[i].a,q[j].a)) {
					b[j] = -1;
					sum[i] += q[j].p;
					cnt[i][j] = q[j].p;
					q[j].p = 0;
					max[i] = q[j].level;
				}
			}
		}
		else {
			continue;
		}
	}
	int max1 = 0;
	int s=0;
	int judge1=0;
	int judge2=0;
	for (int i = 1; i <= n; i++) {
		if (sum[i] > max1) {
			max1 = sum[i];
			s = q[i].level;
		}
		else if (sum[i] == max1) {
			int MAXN = max1;
			for (int j = 1; j <= n; j++) {
				judge1 += cnt[i][j];
				judge2 += cnt[s][j];
				if (judge1 == MAXN) {
					s = q[i].level;
					break;
				}
				else if (judge2 == MAXN) {
					s = q[s].level;
					break;
				}
			}
		}
	}
	printf("%s", q[s].a);
	return 0;
}

全是数组和结构 可能有点乱 麻烦大佬QAQ

2023/11/1 13:30
加载中...