码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷 P1433 吃奶酪

时间:2017-09-09 18:11:21      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:logs   main   nbsp   math   str   iostream   closed   ==   ring   

P1433 吃奶酪

dfs,预处理开方的距离再加一个小剪枝

技术分享
 1 #include<algorithm>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<cstdio>
 5 #include<cmath>
 6 #include<queue>
 7 using namespace std;
 8 #define inf 1000000
 9 int n,num;
10 double ans=inf*1.0,x[10000],y[10000],dis[100][100];
11 bool vis[100000];
12 
13 void dfs(double now,int num,int prex)
14 {
15     if(now>ans)    return ;
16     if(num==n)
17     {
18         ans=min(ans,now);
19         return ;
20     }
21     for(int i=1;i<=n;i++)
22     {
23         if(!vis[i])
24         {
25             vis[i]=1;
26             dfs(dis[prex][i]+now,num+1,i);
27             vis[i]=0;
28         }
29     }
30     
31 }
32 
33 int main()
34 {
35     scanf("%d",&n);
36     for(int i=1;i<=n;i++)
37         scanf("%lf%lf",&x[i],&y[i]);
38     for(int i=0;i<=n;i++)
39         for(int j=0;j<=n;j++)
40             if(i!=j) dis[i][j]=sqrt(pow(x[j]-x[i],2)+pow(y[j]-y[i],2));
41     dfs(0,0,0);
42     printf("%.2lf\n",ans);
43     return 0;
44 }
View Code

 

洛谷 P1433 吃奶酪

标签:logs   main   nbsp   math   str   iostream   closed   ==   ring   

原文地址:http://www.cnblogs.com/chen74123/p/7498673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!