社区讨论

求助!!样例过了,但是就是全部WA

P5143攀爬者参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@lo11rzml
此快照首次捕获于
2023/10/22 13:47
2 年前
此快照最后确认于
2023/11/02 13:17
2 年前
查看原帖
C
#include<stdio.h>
#include<math.h>

int a[50010][3] = {0};
int count[50010][2] = {0};
int main() {
	int n, i, max = 0,min = 50000, pmax, pmin, j, z, k;
	double m = 0;
	scanf("%d", &n);
	//scanf("%d%d%d",&a[0][0],&a[0][1],&a[0][2]);
	for(i = 0;i < n;i ++) {
		scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
		z = a[i][2];
		count[z][0] ++;//记录出现的高度
		count[z][1] = i;//记录出现高度对应的点
		if(max < a[i][2]) {//max为最高
			max = a[i][2];
			pmax = i;
		}
		if(min > a[i][2]) {
			min = a[i][2];
			pmin = i;
		}
	}
	j = pmin;
	for(i = j + 1;i <= max;i ++) {
		if(count[i][0] != 0) {
			k = count[i][1];
			m += sqrt((a[k][0] - a[j][0]) * (a[k][0] - a[j][0]) + (a[k][1] - a[j][1])*(a[k][1] - a[j][1])+(a[k][2] - a[j][2])*(a[k][2] - a[j][2]));
		    a[j][0] = a[k][0];a[j][1] = a[k][1];a[j][2] = a[k][2];//a[j]
		}
	}
	printf("%.3lf",m);
	return 0;
}

回复

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

正在加载回复...