动态规划(Unidirectional TSP,uva 116)
来源:互联网 发布:mac相簿和照片的区别 编辑:程序博客网 时间:2024/04/30 20:02
dp里面sort用的好棒,我本来讨论了老半天的。。。
#include<bits/stdc++.h>using namespace std;const int INF=1<<30;int n,m;int MAP[11][110];int dp[11][110];int NEXT[11][110];int main(){ while(scanf("%d %d",&n,&m)!=EOF) { for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&MAP[i][j]); for(int i=1;i<=n;i++) { dp[i][m]=MAP[i][m]; NEXT[i][m]=0; } for(int j=m-1;j>=1;j--) for(int i=1;i<=n;i++) { int temp[3]={i-1,i,i+1}; if(i==1) temp[0]=n; if(i==n) temp[2]=1; sort(temp,temp+3); dp[i][j]=INF; for(int k=0;k<3;k++) if(dp[temp[k]][j+1]+MAP[i][j]<dp[i][j]) { dp[i][j]=dp[temp[k]][j+1]+MAP[i][j]; NEXT[i][j]=temp[k]; } } int ANS=INF; for(int i=1;i<=n;i++) ANS=min(ANS,dp[i][1]); for(int i=1;i<=n;i++) if(ANS==dp[i][1]) { printf("%d",i); i=NEXT[i][1]; int cnt=2; while(i) { printf(" %d",i); i=NEXT[i][cnt]; cnt++; } printf("\n%d\n",ANS); break; } } return 0;}
0 0
- UVA - 116 - Unidirectional TSP(动态规划)
- 动态规划(Unidirectional TSP,uva 116)
- UVA 116 Unidirectional TSP(动态规划)
- uva 116 - Unidirectional TSP (动态规划)
- 【uva】116-Unidirectional TSP(动态规划,路径问题)
- 动态规划--多段图的最短路--单向TSp(Unidirectional TSP ,UVa 116)
- UVA 116 Unidirectional TSP 动态规划+类似数塔
- Uva - 116 - Unidirectional TSP(多段图的最短路,动态规划)
- [中等] UVa OJ 116 Unidirectional TSP 动态规划
- Unidirectional TSP(UVA 116)
- UVa 116 - Unidirectional TSP(单向TSP)
- 单向TSP(unidirectional TSP,UVa 116)
- uva116-Unidirectional TSP (动态规划,多段图)
- UVa 116 Unidirectional TSP
- UVA 116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- uva 116 Unidirectional TSP
- UVa 116Unidirectional TSP
- HDU 2094 产生冠军 (map)
- Firebase介绍(只管写代码,后台交给Firebase)
- Linux版本简介
- Android ViewPager>Fragment>Listview>addHeaderView添加轮播图隐藏bug
- HTML&CSS编码规范
- 动态规划(Unidirectional TSP,uva 116)
- CodeForces 704A Thor
- 二叉树镜像对称
- MySQL数据库对GROUP BY子句的功能扩展(2)
- 三重镇——解题报告
- POJ 2075
- Activity四种启动模式
- Genymotion常见问题整合与解决方案
- 【深入Java虚拟机】之一:Java内存区域与内存溢出