社区讨论

80分求助,最后一个测试点过不去qwq

P5738【深基7.例4】歌唱比赛参与者 4已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@lqltyzk8
此快照首次捕获于
2023/12/26 12:11
2 年前
此快照最后确认于
2023/12/26 16:26
2 年前
查看原帖
CPP

#include<stdio.h>
void insort1(int* x, int* y) {
	int t = 0;
	if (*x > *y) {
		t = *y;
		*y = *x;
		*x = t;
	}
}
void insort2(int* x, int* y) {
	int t = 0;
	if (*x < *y) {
		t = *y;
		*y = *x;
		*x = t;
	}
}
int main() {
	int n = 0, m = 0, tmp[102][22] = { 0 }, sum[102] = { 0 };
	double ans = 0;
	scanf("%d%d", &n, &m);
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			scanf("%d", &tmp[i][j]);
		}
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m - 1; j++) {
			for (int q = 0; q <= m - 1 - j; q++) {
            insort1(&tmp[i][q], &tmp[i][q + 1]);
			}	
		}
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m - 2; j++) {
			for (int q = 0; q <= m - 2 - j; q++) {
				insort2(&tmp[i][q], &tmp[i][q + 1]);
			}
		}
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m-2; j++) {
			sum[i] = sum[i] + tmp[i][j];
		}
	}
	for (int j = 0; j < n - 1; j++) {
     for (int i = 0; i <n-1-j; i++) {
		insort1(&sum[i], &sum[i + 1]);
	}
	}

	ans = (double)sum[n - 1] / (double)(m - 2);
	printf("%.2f", ans);
	return 0;
}

回复

9 条回复,欢迎继续交流。

正在加载回复...