一个矩阵,每个位置有一个非负整数,一个人从左上走到右下,不能走重复的格子,问得到的最大权值。

当长宽不都为偶数时,必然能走遍所有格子,横着从左到右,从右到左(或是竖着走)走完即可。

当长宽都是偶数时,必然只有一个格子走不到,黑白染色后,就是白色格子中的最小值走不到,别的全都可以走得到。

两行两行地走,如果没到不取的那个格子所在的那两行,那就横着从左到右,从右到左;如果到了这两行,就竖着循环走;过了这两行之后,就横着从右到左,从左到右。

#include<cstdio>
using namespace std;
bool co[105][105];
int n,m,a[105][105],T;
int main(){
// freopen("g.in","r",stdin);
scanf("%d",&T);
a[0][0]=2147483647;
for(;T;--T){
scanf("%d%d",&n,&m);
int sum=0;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
scanf("%d",&a[i][j]);
sum+=a[i][j];
}
}
if(n%2==1){
printf("%d\n",sum);
for(int i=1;i<=n;++i){
for(int j=1;j<m;++j){
putchar(i%2==1 ? 'R' : 'L');
}
if(i!=n){
putchar('D');
}
}
puts("");
}
else if(n%2==0 && m%2==1){
printf("%d\n",sum);
for(int i=1;i<=m;++i){
for(int j=1;j<n;++j){
putchar(i%2==1 ? 'D' : 'U');
}
if(i!=m){
putchar('R');
}
}
puts("");
}
else{
for(int i=1;i<=n;++i){
bool pen=(i%2==1);
for(int j=1;j<=m;++j){
co[i][j]=pen;
pen^=1;
}
}
int x=0,y=0;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
if(co[i][j]==0 && a[i][j]<a[x][y]){
x=i;
y=j;
}
}
}
sum-=a[x][y];
printf("%d\n",sum);
bool flag=0;
for(int i=1;i<=n;i+=2){
if(!flag && (i==x || i+1==x)){
bool tag=0;
for(int j=1;j<=m;++j){
if(j!=y){
putchar(tag==0 ? 'D' : 'U');
tag^=1;
}
if(j!=m){
putchar('R');
}
}
flag=1;
}
else if(!flag){
for(int j=1;j<m;++j){
putchar('R');
}
putchar('D');
for(int j=1;j<m;++j){
putchar('L');
}
}
else{
for(int j=1;j<m;++j){
putchar('L');
}
putchar('D');
for(int j=1;j<m;++j){
putchar('R');
}
}
if(i!=n-1){
putchar('D');
}
}
puts("");
}
}
return 0;
}

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(51)-系统升级
  2. div盒子中子元素(子元素可能是盒子, 图片) 中居中的三种方法
  3. LEETCODE —— Maximum Subarray [一维DP]
  4. ACM题目————最长回文串
  5. 使用 PHP 验证表单数据
  6. ORMBase对象/关系型数据库映射在MVC中的应用(二)
  7. 基于jsp+servlet图书管理系统之后台用户信息查询操作
  8. AngularJs练习Demo1
  9. HttpWebRequest在GetResponse时总是超时
  10. DSOframer 的简单介绍和资源整理
  11. AVS、MPEG-2、H264标准文档
  12. 初学Django项目可能会遇到的问题
  13. fastJson解析报错:com.alibaba.fastjson.JSONException: can&#39;t create non-static inner class instance.
  14. nginx+supervisor+gunicorn+flask
  15. manjaro 的配置
  16. SSL及其加密通信过程
  17. shell脚本选择LOG里面特定的行,生成新文件并rsync上传
  18. zabbix user parameters和Loadable modules的使用方法介绍
  19. 极验(Geetest) Laravel 5 集成开发包,让验证更安全
  20. My Sql数据库设置环境变量和字符集

热门文章

  1. HDU 1422 重温世界杯 (dp)
  2. css文本垂直水平居中
  3. 一种通过HTTP传文件出网的姿势
  4. xrange和range的区别
  5. 448D - Codeforces
  6. IoT之车联网
  7. ACE_INET_Addr类 API
  8. dockerfile实例--安装nginx
  9. 百度笔试题:malloc/free与new/delete的区别(转)
  10. JavaScript 正则表达式的入门与使用