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其中一 ...
随机推荐
- Linux Autotools
/********************************************************************** * Linux Autotools * 说明: * 我们 ...
- AIX 第5章 指令记录
AIX引导过程 AIX不同引导模式 AIX的关闭 AIX的计划任务 AIX服务的管理 AIX的常用日志 POST=Power On Self Test rc.boot 的三次调用 /etc/ini ...
- 多线程&多进程解析:Python、os、sys、Queue、multiprocessing、threading
当涉及到操作系统的时候,免不了要使用os模块,有时还要用到sys模块. 设计到并行程序,一般开单独的进程,而不是线程,原因是python解释器的全局解释器锁GIL(global interpreter ...
- activity_main.xml与fragment_main.xml
见: http://blog.sina.com.cn/s/blog_3e28c8a50101fqvw.html http://blog.sina.com.cn/s/blog_3e28c8a50101f ...
- nodejs模拟http-post文件的方法示例
var fs = require("fs"); var http = require('http'); function PostFileToServer(sFileName, d ...
- 嵌入式 Linux下curl库API简单介绍
1:CURLcode curl_global_init(long flags); 这个函数全局需要调用一次(多次调用也可以,不过没有必要), 所以这也是把Curlplus设计成单体类的原因,curl_ ...
- C# DataGridView的初始化
动态添加列和行 方法一 通过手动添加Datatable,再绑定dataGridView DataTable dt = new DataTable();//建立个数据表 dt.Columns.Add(n ...
- DuiLib消息处理剖析
本来想自己写写duilib的消息机制来帮助duilib的新手朋友,不过今天发现已经有人写过了,而且写得很不错,把duilib的主干消息机制都说明了,我就直接转载过来了,原地址:http://blog. ...
- ASP.NET 如何做出简单的验证码
如果说要做验证码,那不得不提的就是GDI+绘图了.我们都知道验证码是以图片形式展示的,而且是动态生成的,这样就需要我们去画出它. 科普一下,什么是GDI+? GDI+是图形设备接口(GDI)的高级版本 ...
- slowhttps安装及使用心得
运行及安装环境,kali. 到googlecode上下载安装包,cd到安装目录./configure 运行完毕后输入make 结束后make install 简单点就直接apt-get install ...