UVa 116 - Unidirectional TSP(DP)
来源:互联网 发布:什么是淘宝店铺运营 编辑:程序博客网 时间:2024/05/20 19:19
单向TSP。
从后往前依次dp左, 左上, 左下。然后记录当前对应的最小字典序。
#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int INF = 1 << 27;const int maxn = 123;int ans, first;int a[maxn][maxn], d[maxn][maxn], Next[maxn][maxn];int main() { int m, n; while(cin >> m >> n) { memset(a, 0, sizeof(a)); memset(d, 0, sizeof(d)); memset(Next, 0, sizeof(Next)); ans = INF; for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { cin >> a[i][j]; } } for(int j = n - 1; j >= 0; j--) { for(int i = 0; i < m; i++) { if(j == n - 1) { d[i][j] = a[i][j]; } else { int row[] = {i, i - 1, i + 1}; if(i == 0) row[1] = m - 1; if(i == m - 1) row[2] = 0; sort(row, row + 3); d[i][j] = INF; for(int k = 0; k < 3; k++) { int t = d[row[k]][j + 1] + a[i][j]; if(t < d[i][j]) { d[i][j] = t; Next[i][j] = row[k]; } } } if(j == 0) { if(d[i][j] < ans) { ans = d[i][j]; first = i; } } } }// cout << first << endl; for(int j = 0, i = first; j < n; i = Next[i][j], j++) { if(j) cout << " "; cout << i + 1; } cout << endl << ans << endl; } return 0;}
0 0
- uva 116(Unidirectional TSP)(DP)
- uva 116 Unidirectional TSP (dp)
- UVa 116 Unidirectional TSP(DP)
- uva 116 Unidirectional TSP (DP)
- UVa 116 - Unidirectional TSP(DP)
- UVa 116:Unidirectional TSP(DP)
- dp uva-116-Unidirectional TSP
- UVa 116 Unidirectional TSP (DP)
- UVA 116 Unidirectional TSP (DP)
- UVa 116 - Unidirectional TSP(DP)
- Uva-116 Unidirectional TSP DP
- Unidirectional TSP - UVa 116 dp
- 【DP】UVA 116 Unidirectional TSP
- UVa 116 - Unidirectional TSP(dp)
- UVa 116 Unidirectional TSP(DP)
- DP--UVA - 116 Unidirectional TSP
- Uva--116 Unidirectional TSP(dp)
- UVA 116 Unidirectional TSP [DP]
- dp 01背包避免重复计算
- “黑马程序员”Java中static、this、super、final用法
- maven springmvc shiro mybatis rest webservice bootstrap整合
- Java设计模式之模板方法模式或者说模板设计模式(属于行为型)
- 算法:顺序查找与折半查找
- UVa 116 - Unidirectional TSP(DP)
- 算法:在一个集合中选取所有符合条件的元素组合
- Mac 上的新利器-Visual Studio Code
- HDU-1272-小希迷宫
- “黑马程序员”Java 基础之函数
- 剑指Offer之 - 斐波那契数列
- 静态类成员
- Best Time to Buy and Sell Stock IV Leetcode Java
- 深入理解ThreadLocal