冒泡TLE
  • 板块P5143 攀爬者
  • 楼主xhz0311
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/1/4 20:22
  • 上次更新2023/10/24 05:34:18
查看原帖
冒泡TLE
747883
xhz0311楼主2023/1/4 20:22
#include <bits/stdc++.h>
using namespace std;

struct poi//poi代表point,点
{
    int x,y,z;//坐标
};

int main()
{
    int n;//点的个数
    double sum=0;//攀爬距离的和
    cin>>n;//输入个数
    struct poi a[n+1];//定义n+1个点,下标从1开始
    for (int i=1; i<=n; i++)
    {
        cin>>a[i].x>>a[i].y>>a[i].z;//读入点的坐标
    }
    for (int i=1; i<n-1; i++)
    {
        for (int j=1; j<=n-i; j++)
        {
            if (a[j].z>a[j+1].z)
            {
                swap(a[j],a[j+1]);
            }
        }
    }//冒泡
    for(int i=2;i<=n;i++)
		sum+=sqrt((a[i-1].x-a[i].x)*(a[i-1].x-a[i].x)+(a[i-1].y-a[i].y)*(a[i-1].y-a[i].y)+(a[i-1].z-a[i].z)*(a[i-1].z-a[i].z));//从第二座山开始,计算sum
    printf("%.3lf",sum);//输出,保留三位小数
    return 0;
}

这个代码最后三个点T了。。。

结构体能sort吗? 好像不行

2023/1/4 20:22
加载中...