prim 10pts 求调
查看原帖
prim 10pts 求调
738893
xujunlang2011楼主2023/9/26 17:13
#include<bits/stdc++.h>
using namespace std;
const int N = 5e3 + 5;
double n, cnt, a[N][3];
int num = 1;
bool f[N];
int main()
{
	cin >> n;
	for (int i = 1;i <= n;i++)
	{
		cin >> a[i][1] >> a[i][2];
	}
	for (int i = 2;i <= n;i++)
	{
        f[num] = 1;
		double minn = 999999999, m;
		for (int j = 1;j <= n;j++)
		{
		    if (!f[j])
		    {
		        if (sqrt(pow(a[num][1] - a[j][1], 2) + pow(a[num][2] - a[j][2], 2)) < minn)
		        {
		            minn = sqrt(pow(a[num][1] - a[j][1], 2) + pow(a[num][2] - a[j][2], 2));
		            m = j;
		        }
		    }
		}
		cnt += minn;
		num = m;
	}
	printf("%.2lf", cnt);
	return 0;
} 

提交记录

2023/9/26 17:13
加载中...