hdu 5402 Travelling Salesman Problem
来源:互联网 发布:云来网络 编辑:程序博客网 时间:2024/05/29 14:29
原来那道模拟题是这样的,因为我走的奇偶决定了我现在是在左还是在右,我刚开始想的是要走到断点的上一层或本层, 但实际上应该固定每次只走两行,这样每次都是从左边开始了,然后我只需要考虑从左边去把空格绕了就行,然后就是从右边下来了,然后就反着走就可以了~还是需要加强对这种 思维题目的练习~
#pragma comment(linker, "/STACK:1024000000,1024000000") #include<set>#include<map>#include<queue>#include<stack>#include<cmath>#include<cstdio>#include<vector>#include<string>#include<cstring>#include<algorithm>#include<functional>using namespace std;typedef long long LL;const LL base = 1e9 + 7;const int maxn = 105;LL T, n, m, a[maxn][maxn], sum, x, y;inline void read(int &x){ char ch; while ((ch = getchar())<'0' || ch>'9'); x = ch - '0'; while ((ch = getchar()) >= '0' && ch <= '9') x = x * 10 + ch - '0';}void get(){ x = 1; y = 2; for (int i = 1; i <= n;i++) for (int j = 1; j <= m; j++) if (((i + j) & 1) && a[x][y] > a[i][j]) x = i, y = j;}int main(){ while (scanf("%lld%lld", &n, &m) !=EOF) { sum = 0; for (int i = 1; i <= n;i++) for (int j = 1; j <= m; j++) { scanf("%lld", &a[i][j]); sum += a[i][j]; } if (n & 1 || m & 1) { printf("%lld\n", sum); if (n & 1) { for (int i = 1; i <= n; i++) { for (int j = 1; j < m; j++) if (i & 1) printf("R"); else printf("L"); if (i < n) printf("D"); else printf("\n"); } } else { for (int i = 1; i <= m; i++) { for (int j = 1; j < n; j++) if (i & 1) printf("D"); else printf("U"); if (i < m) printf("R"); else printf("\n"); } } } else { get(); printf("%lld\n", sum - a[x][y]); for (int i = 1; i <= n; i += 2) { if (x == i || x == i + 1) { for (int j = 1; j < y; j++) { if (j & 1) printf("D"); else printf("U"); printf("R"); } if (y < m) printf("R"); for (int j = y + 1; j <= m; j++) { if (j & 1) printf("U"); else printf("D"); if (j < m) printf("R"); } if (i < n - 1) printf("D"); } else if (i < x) { for (int j = 1; j < m; j++) printf("R"); printf("D"); for (int j = 1; j < m; j++) printf("L"); printf("D"); } else { for (int j = 1; j < m; j++) printf("L"); printf("D"); for (int j = 1; j < m; j++) printf("R"); if (i < n - 1) printf("D"); } } printf("\n"); } } return 0;}
0 0
- HDU 5402 Travelling Salesman Problem
- HDU 5402 Travelling Salesman Problem
- hdu 5402 Travelling Salesman Problem
- hdu 5402 Travelling Salesman Problem
- hdu 5402 Travelling Salesman Problem
- Travelling Salesman Problem (hdu 5402 模拟)
- HDU-5402 Travelling Salesman Problem(模拟)
- 【HDU 5402】Travelling Salesman Problem(构造)
- HDU 5402 (构造题)Travelling Salesman Problem
- hdu 5402 Travelling Salesman Problem (构造)
- hdu 5402 Travelling Salesman Problem 模拟构造
- hdu 5402 Travelling Salesman Problem(构造)
- hdu 5402 Travelling Salesman Problem(构造+模拟)
- 【HDOJ 5402】Travelling Salesman Problem
- HDU 5402 Travelling Salesman Problem(多校9 模拟)
- HDU 5402 Travelling Salesman Problem(棋盘染色 构造 多校啊)
- hdu(5402)——Travelling Salesman Problem(模拟题)
- HDU 5402 Travelling Salesman Problem (MUT#9 暴力模拟)
- C# 中的委托和事件
- log4j中看ThreadLocal用法
- UVA oj 10055 Hashmat the Brave Warrior(坑题)
- 水水笔-续1(06/01)
- 静态库
- hdu 5402 Travelling Salesman Problem
- iOS学习路线图
- 提取胡数据通过区分管道号分类
- LeetCode-347.Top K Frequent Elements
- mesos解读
- 蓝桥杯2016决赛 凑平方数
- spring boot 开发相关
- jQuery搭建简单的瀑布流页面
- 浏览器跨域访问解决方案