50分求指点
  • 板块P1433 吃奶酪
  • 楼主afkesibu
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/22 18:07
  • 上次更新2024/6/22 21:22:35
查看原帖
50分求指点
1283104
afkesibu楼主2024/6/22 18:07
#include<bits/stdc++.h>
using namespace std;
double a[15],b[15],x[210],y[210],mn=1e9;

double f(double x1,double y1,double x2,double y2)
{
    return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
    int n;
    double sum=0;
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        cin>>x[i]>>y[i];
        a[i]=i;
    }
    do 
    {
        sum=0;
        for (int i=1;i<=n;i++)
        {
            int l=a[i-1],now=a[i];
            sum+=f(x[l],y[l],x[now],y[now]);
        }
        if (mn>sum)
        {
            mn=sum;
        }
    }
    while (next_permutation(a+1,a+n+1));
    printf("%.2f",mn);
}
2024/6/22 18:07
加载中...