hdoj 5402 Travelling Salesman Problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5402
类似于黑白棋盘,有的格子是可以不走的,有的格子是不能不走的,对于m或n中有一个奇数的情况,
所有的数都可以走到,当m和n都是偶数的时候,则需要分情况讨论,两行缩成一行走,
从而走遍可以走的数。m=1且n=1的时候需要特判
#include<stdio.h>
#include<cstring>
;
int main(){
int n, m;
int sum;
int maze[MAXN][MAXN];
// freopen("e.txt","r",stdin);
while(~scanf("%d%d",&n,&m)){
sum = ;
memset(maze,,sizeof(maze));
; i < n; ++i){
; j < m; ++j){
scanf("%d",&maze[i][j]);
sum += maze[i][j];
}
}
&& m == ){
printf("%d\n",sum);
printf("R\n");
continue;
}
== ){
printf("%d\n",sum);
; i < n; ++i){
; j < m; ++j){
){
printf("D");
continue;
}
== )
printf("R");
else
printf("L");
}
)
printf("D");
}
printf("\n");
continue;
}
== ){
printf("%d\n",sum);
; i < m; ++i){
; j < n; ++j){
== )
printf("D");
else
printf("U");
}
)
printf("R");
}
printf("\n");
continue;
}
else{
;
int pi, pj;
; i < n; ++i){
; j < m; ++j){
== && (maze[i][j] < _min)){
_min = maze[i][j];
pi = i;
pj = j;
}
}
}
// 找到最小值
printf("%d\n",sum-_min);
== ){
; i < pi-; ++i ){
; j < m-; ++j){
== )
printf("R");
else
printf("L");
}
)
printf("D");
}
}
// 如果是奇数行出现,前pi-2行按规律走
else{
; i < pi; ++i ){
; j < m-; ++j){
== )
printf("R");
else
printf("L");
}
)
printf("D");
}
}
// 如果是偶数行出现,前pi-1行按规律走
; i < pj; ++i){
== )
printf("D");
else
printf("U");
printf("R");
}
)
printf("R");
; i < m; ++i){
== )
printf("D");
else
printf("U");
)
printf("R");
}
== && pi + == n) && !( pi % == && pi + == n ))
printf("D");
// 两行变一行
== ){
; i < n; ++i ){
; j < m-; ++j){
== )
printf("R");
else
printf("L");
}
)
printf("D");
}
}
else{
; i < n; ++i ){
; j < m; ++j){
== )
printf("R");
else
printf("L");
}
)
printf("D");
}
}
}
printf("\n");
}
}
hdoj 5402 Travelling Salesman Problem的更多相关文章
- HDOJ 5402 Travelling Salesman Problem 模拟
行数或列数为奇数就能够所有走完. 行数和列数都是偶数,能够选择空出一个(x+y)为奇数的点. 假设要空出一个(x+y)为偶数的点,则必须空出其它(x+y)为奇数的点 Travelling Salesm ...
- 构造 - HDU 5402 Travelling Salesman Problem
Travelling Salesman Problem Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5402 Mean: 现有一 ...
- HDU 5402 Travelling Salesman Problem (构造)(好题)
大致题意:n*m的非负数矩阵,从(1,1) 仅仅能向四面走,一直走到(n,m)为终点.路径的权就是数的和.输出一条权值最大的路径方案 思路:因为这是非负数,要是有负数就是神题了,要是n,m中有一个是奇 ...
- HDU 5402 Travelling Salesman Problem (模拟 有规律)(左上角到右下角路径权值最大,输出路径)
Travelling Salesman Problem Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (J ...
- HDU 5402 Travelling Salesman Problem(棋盘染色 构造 多校啊)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5402 Problem Description Teacher Mai is in a maze wit ...
- hdu 5402 Travelling Salesman Problem(大模拟)
Problem Description Teacher Mai ,) to the bottom right corner (n,m). He can choose one direction and ...
- HDU 5402 Travelling Salesman Problem(多校9 模拟)
题目链接:pid=5402">http://acm.hdu.edu.cn/showproblem.php?pid=5402 题意:给出一个n×m的矩阵,位置(i.j)有一个非负权值. ...
- HDU 5402 : Travelling Salesman Problem
题目大意:n*m的格子,从左上角走到右下角,每个格子只能走一遍,每个格子上有一个非负数,要让途径的数字和最大,最后要输出路径 思路:显然茹果n,m有一个是奇数的话所有格子的数字都能被我吃到,如果都是偶 ...
- hdu 5402 Travelling Salesman Problem (技巧,未写完)
题意:给一个n*m的矩阵,每个格子中有一个数字,每个格子仅可以走一次,问从(1,1)走到(n,m) 的路径点权之和. 思路: 想了挺久,就是有个问题不能短时间证明,所以不敢下手. 显然只要n和m其中一 ...
随机推荐
- HDU 3342 Legal or Not (图是否有环)
题意: 给出n个人的师徒关系,如有 a是b的师傅,b是c的师傅,c是a的师傅,这样则不合法,输出NO,否则输出YES. 思路: 每段关系可以看成一条有向边,从师傅指向徒弟,那么徒弟的徒子徒孙都不可能再 ...
- 每天一个Linux命令(2): ls
ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linu ...
- 关于"user.dir"的认识
最近阅读了一些tomcat源码,看到tomcat在读取jar包外配置文件,是将“user.dir”的路径作为home path文件即 通过System.getProperty("user.d ...
- In App Purchase翻译
一.In App Purchase概览 Store Kit代表App和App Store之间进行通信.程序将从App Store接收那些你想要提供的产品的信息,并将它们显示出来供用户购买.当用户需要购 ...
- Vagrant使用笔记
vagrant box add [options] <name, url, or path> - 添加box至vagrant的管理列表 vagrant init 初始化虚拟机至当前文件夹并 ...
- 【转】eclipse怎么设置字体大小
原文网址:http://jingyan.baidu.com/article/f96699bb9442f3894e3c1b15.html 1. 打开eclipse,找到window 2. 点击后在下拉 ...
- ubuntu myeclipse 启动时提示 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ....
jdk已经安装过但是启动eclipse时提示“A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ...
- rtree
https://zh.wikipedia.org/wiki/R%E6%A0%91 http://blog.csdn.net/jiqiren007/article/details/5377750 htt ...
- opencv3.0 在 android 上的使用
下载 OpenCV-3.0.0-android-sdk-1.zip 打开 intellj,新建立一个 android 工程后选择工程属性,导入模块(Import module from externa ...
- 捣蛋phpwind控制器注入
在PwBaseController 里面,会有这个方法的存在 /** * action Hook 注册 * * @param string $registerKey 扩展点别名 * @param Pw ...