标签:动态规划
#include<cstdio> #include<cmath> #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int maxn = 1010; double d[maxn][maxn]; int n; struct node { double x,y; }a[maxn]; double dist(int p1,int p2) { double temp1 = a[p1].x-a[p2].x; double temp2 = a[p1].y-a[p2].y; return sqrt(temp1*temp1+temp2*temp2); } int main() { while(cin>>n) { double a1,a2; for(int i = 1;i <= n; i++) { cin>>a1>>a2; a[i].x=a1; a[i].y=a2; } memset(d,0,sizeof(d)); for(int i=1;i<=n-2;i++) { d[n-1][i]=dist(n-1,n)+dist(i,n); } for(int i=n-2;i>=2;i--) { for(int j=i-1;j>=1;j--) { d[i][j]=min(d[i+1][j]+dist(i,i+1),d[i+1][i]+dist(j,i+1)); } } printf("%.2lf\n",d[2][1]+dist(1,2)); } return 0; }
真是太不人性化了。。。第一篇给我删错了!都木有草稿。。。
伤心了自己看书吧...
uva 1347 - Tour,布布扣,bubuko.com
标签:动态规划
原文地址:http://blog.csdn.net/u013382399/article/details/38420881