UVA 116 Unidirectional TSP
来源:互联网 发布:北京科技大学网络登录 编辑:程序博客网 时间:2024/06/08 05:32
记录路径。。
字典序最大。。
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define N 1005#define inf 0x3f3f3f3fint Next[N][N];int maps[N][N];int dp[N][N];int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { memset(maps,0,sizeof(maps)); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { scanf("%d",&maps[i][j]); } } memset(dp,0,sizeof(dp)); int res = inf; int F_pos = 0; for(int j=m;j>0;j--) { for(int i=1;i<=n;i++) { int pos[3] = {i-1,i,i+1}; if(pos[0]==0)pos[0]=n; if(pos[2]==n+1)pos[2]=1; dp[i][j]=inf; sort(pos,pos+3);///字典序最小。 for(int k=0;k<3;k++) { int v=maps[i][j]+dp[pos[k]][j+1]; if(dp[i][j]>v) { dp[i][j]=v; Next[i][j]=pos[k]; } } if(j == 1 &&dp[i][j] < res){ res = dp[i][j]; F_pos = i; } } } for(int i=F_pos,j=1;j<=m;i=Next[i][j],j++){ if(j==1) printf("%d",i); else printf(" %d",i); } printf("\n%d\n",dp[F_pos][1]); }}
阅读全文
0 0
- UVa 116 Unidirectional TSP
- UVA 116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- uva 116 Unidirectional TSP
- UVa 116Unidirectional TSP
- UVa 116 - Unidirectional TSP
- Uva 116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- Uva - 116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- uva 116 - Unidirectional TSP
- UVa:116 Unidirectional TSP
- uva 116 Unidirectional TSP
- UVa 116 - Unidirectional TSP
- uva 116 Unidirectional TSP
- uva 116 Unidirectional TSP
- UVA-116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- 欢迎使用CSDN-markdown编辑器
- 伪随机编码冲雷达信号处理仿真
- bzoj3685: 普通van Emde Boas树
- python笔记
- 计算客模拟赛第五场t1(送分题)
- UVA 116 Unidirectional TSP
- 查看哪些进程占用了端口
- ThinkCMF小总结
- 数据结构学习(二)——单链表的操作之头插法和尾插法创建链表
- VM虚拟机克隆
- #计算机网络第一章
- 单调栈
- ubuntu网易云音乐安装坑
- ajax与重定向