例题9-4 单向TSP(Unidirectional TSP, UVa 116)
来源:互联网 发布:ubuntu vmdk 下载 编辑:程序博客网 时间:2024/05/16 09:15
#include <set>#include <map>#include <ctime>#include <cmath>#include <stack>#include <queue>#include <deque>#include <cstdio>#include <string>#include <vector>#include <cctype>#include <sstream>#include <utility>#include <cstring>#include <cstdlib>#include <functional>#include <iostream>#include <algorithm>#define SF(a) scanf("%d", &a)#define PF(a) printf("%d\n", a) #define SFF(a, b) scanf("%d%d", &a, &b) #define SFFF(a, b, c) scanf("%d%d%d", &a, &b, &c)#define SFFFF(a, b, c, d) scanf("%d%d%d%d", &a, &b, &c, &d)#define CLEAR(a, b) memset(a, b, sizeof(a))#define IN() freopen("in.txt", "r", stdin)#define OUT() freopen("out.txt", "w", stdout)#define FOR(i, a, b) for(int i = a; i < b; ++i)#define LL long long#define mod 10007#define inf 100000007#define eps 1e-12using namespace std;int buf[20];int read() {int x = 0; char ch = getchar(); bool f = 0;while (ch < '0' || ch > '9') { if (ch == '-') f = 1; ch = getchar(); }while (ch >= '0' && ch <= '9') x = (x << 1) + (x << 3) + (ch ^ 48), ch = getchar();return f ? -x : x;}void write(int x) {if (!x) { putchar(48); return; }int l = 0; if (x < 0) putchar('-'), x = -x;while (x) buf[++l] = x % 10, x = x / 10;while (l) putchar(buf[l--] + 48);}//-------------------------chc------------------------------//const int maxn = 15;const int maxm = 105;int a[maxn][maxm], dp[maxn][maxm], nxt[maxn][maxm];int main() {int n, m;while (~SFF(n, m) && n) {FOR(i, 0, n) FOR(j, 0, m) {a[i][j] = read();}int ans = inf, sta;for (int j = m - 1; j >= 0; --j) {FOR(i, 0, n) {if (j < m - 1) {int row[] = { i - 1, i, i + 1 };if (i == 0) row[0] = n - 1;if (i == n - 1) row[2] = 0;sort(row, row + 3);dp[i][j] = inf;FOR(k, 0, 3) {int cur = dp[row[k]][j + 1];if (cur < dp[i][j])dp[i][j] = cur, nxt[i][j] = row[k];}dp[i][j] += a[i][j];}else dp[i][j] = a[i][j];if (j == 0 && dp[i][j] < ans) {ans = dp[i][j], sta = i;}}}printf("%d", sta + 1);for (int i = nxt[sta][0], j = 1; j < m; i = nxt[i][j], ++j)printf(" %d", i + 1);printf("\n%d\n", ans);}return 0;}
阅读全文
0 0
- 例题9-4 单向TSP(Unidirectional TSP, UVa 116)
- UVa 116 - Unidirectional TSP(单向TSP)
- 单向TSP(unidirectional TSP,UVa 116)
- UVa #116 Unidirectional TSP (例题9-4)
- uva 116 Unidirectional (单向)TSP
- UVA 116 Unidirectional TSP单向TSP(DP)
- Unidirectional TSP(UVA 116)
- UVa Problem 116 Unidirectional TSP (单向旅行商问题)
- 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
- CSS3中translate、transform和translation的区别和联系
- 【想清楚】Chris and Road
- java 构造器
- ubuntu swoole扩展安装
- Java微信公众平台开发之发送模板消息
- 例题9-4 单向TSP(Unidirectional TSP, UVa 116)
- Sublime text 设置快捷键让html文件在浏览器中打开
- hibernate03 映射关系
- JDK在Windows环境下的共存问题(1.7与1.8)
- [Android]监听输入框移动布局避免键盘遮盖提交按钮
- JAXB その2
- MySql练习 多对多表练习-用户角色权限表
- linux 指令大搜集
- 10029---linux tomcat 8080访问不了