POJ 3311
来源:互联网 发布:百度搜索关键词优化 编辑:程序博客网 时间:2024/06/08 03:24
#include<string.h>#include<cstdio>#include<cstdlib>#include<vector>#include<iostream>#include<algorithm>#define INF 1<<20using namespace std;int dis[12][12];int dp[1<<11][12];int n,ans,minx;int main(){while(scanf("%d",&n)&&n){for(int i=0;i<=n;i++)for(int j=0;j<=n;j++)scanf("%d",&dis[i][j]);for(int k=0;k<=n;k++)for(int i=0;i<=n;i++)for(int j=0;j<=n;j++)if(dis[i][k]+dis[k][j]<dis[i][j])dis[i][j]=dis[i][k]+dis[k][j];for(int State=0;State<=(1<<n)-1;++State)for(int i=1;i<=n;++i){if(State&(1<<(i-1))){if(State==(1<<(i-1)))dp[State][i]=dis[0][i];else{dp[State][i]=INF;for(int j=1;j<=n;j++)if(State&(1<<(j-1))&&j!=i)dp[State][i]=min(dp[State^(1<<(i-1))][j]+dis[j][i],dp[State][i]);}}}ans=dp[(1<<n)-1][1]+dis[1][0];for(int i=2;i<=n;i++)if(dp[(1<<n)-1][i]+dis[i][0]<ans){ans=dp[(1<<n)-1][i]+dis[i][0];}printf("%d\n",ans);}return 0;}
阅读全文
0 0
- poj 3311
- poj 3311
- POJ 3311
- poj 3311
- POJ 3311
- poj 3311 状态压缩
- poj 3311 状压DP
- (3311)POJ-状态压缩
- poj 3311 floyd + 状态
- POJ 3311--佛洛依德枚举
- POJ 3311 状压+Floyd
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- Spring2.5 IoC之bean的四种注入方式(实践篇)
- jQuery Validate验证框架详解
- 一元函数积分学基本计算例题
- C#入门基础之计算器
- 工作第三到五年
- POJ 3311
- 使用JDBC从mysql数据库中导出数据到Oracle数据库
- C#处理表格的问题
- GOLANG 实现Stack和Queue
- Kotlin-解构声明
- 模态视图和视图控制器的生命周期
- 个人网站买主机和域名,网站备案
- 安卓自定义圆环进度
- 你可能不知道,你登曾是个气喘小胖子,靠努力逆袭完成梦想