首页 > 编程语言 >牛客寒假算法基础集训营4-B-Applese 走方格

牛客寒假算法基础集训营4-B-Applese 走方格

时间:2023-01-03 12:04:45浏览次数:67  
标签:输出 集训营 return int else 牛客 && printf Applese


链接:​​https://ac.nowcoder.com/acm/contest/330/B​​​牛客网
 

在这个游戏中,它位于一个 n 行 m 列的方阵中的左上角(坐标为(0, 0),行的序号为0∼n−10∼n−1,列的序号为0∼m−10∼m−1)。

 

现在它想不重复地走过所有格子(除了起点),最后回到左上角的一个方案。

 

每次只能往上下左右其中一个方向走一格。

输入描述:

仅一行两个整数 n 和 m,表示方阵的大小。保证大于1×11×1。

输出描述:

如果存在方案,则输出一行操作,包含"L"、"R"、"U"、"D",分别表示左、右、上、下。如果有多种方案,输出任意一种即可。
如果没有方案,则在一行中输出"-1"。

示例1

输入

2 2

输出

RDLU

示例2

输入

2 3

输出

RRDLLU

备注:

1≤n,m≤10

思路

看到这个题的时候总觉得是哪里的编程题。就是简单的数学题,但是有两个特殊的我没想到,

有以下情况:

  • m=1 n=2 || n=1 m=2   这个时候就是DU || RL
  • m=1 || n=1 (这种情况下是不存在的,除了上边的情况)
  • m、n都为奇数时不存在
  • m为偶数或者n为偶数存在

看不懂的话,在演草纸上推一下理解理解。

 

代码

#include<cstdio>

using namespace std;

int main(){
int n,m;
scanf("%d%d",&n,&m);
if(n==1 && m==2){
printf("RL\n");
return 0;
}
if(n==2 && m==1){
printf("DU\n");
return 0;
}
if(((n&1) && (m&1)) || (n == 1 || m == 1)){
printf("-1\n");
return 0;
}
if(m%2==0){
for(int i=0; i<n-1; i++)
printf("D");
printf("R");
for(int j=1; j<m-1; j++){
for(int i=0; i<n-2; i++){
if(j&1){
printf("U");
} else {
printf("D");
}
}

printf("R");
}
for(int i=0; i<n-1; i++)
printf("U");
for(int i=0; i<m-1; i++)
printf("L");
} else {
for(int i=0; i<n-1; i++)
printf("D");
printf("R");
for(int i=1; i<=n; i++){
for(int j=0; j<m-2; j++){
if(i&1)printf("R");
else printf("L");
}
if(i < n)printf("U");
}
printf("L");
}
printf("\n");
return 0;
}

 

标签:输出,集训营,return,int,else,牛客,&&,printf,Applese
From: https://blog.51cto.com/u_13758447/5985128

相关文章

  • 牛客训练(BIT+高精度)
    又是这类用BIT辅助计数的题。。这个显然满足要求的区间比不满足的要多太多,所以变成求不满足的。。。然后要先求总方案数,为这个不是很想在化了,反正O(n)求也可以的。。然后求......
  • 牛客2022跨年场
    牛客2022跨年场​F题使用python,就是加了一个end='\0',然后寄了好多。A猜群名小沙为了这场元旦比赛绞尽脑汁,他现在在每个题目中藏入了一个字,收集所有的字,并将按照题号......
  • 牛客练习赛107
    挺有难度的比赛。A求\((n!)!\modm,n,m\le1e6\)容易发现n!>m之后答案为0。B仔细看题。考虑两个序列中的1能不能都放在一号位可以的话就是最优的。不能的话考虑一个......
  • 牛客小白月赛64 C题 题解
    题目链接题意描述这一题的意思其实就是,让你构造一个\(n*k\)的矩阵,使得第i列的总和为i,同时使得:每一列的任意两个数之间的差不大于1,且任意两行之间的总和差不大于1。......
  • 牛客--64--F
    关键这个题目很值得学习呀!看着是不能记录所有的状态,但是可以映射一下,然后就是直接线性dp了代码#include<bits/stdc++.h>usingnamespacestd;constintM=2e6+5;co......
  • 大数据开发面试题,牛客上面试被问频率最高的几道面试题
    大数据开发面试题,牛客上面试被问频率最高的几道面试题一、Hadoop部分一、HDFS文件写入和读取过程****可灵活回答:1)HDFS读写原理(流程)2)HDFS上传下载流程3)讲讲(介绍下)HDFS4)HD......
  • 牛客网刷题笔记篇
    字符串篇字符串翻转链接地址importjava.util.*;publicclassSolution{publicStringtrans(Strings,intn){//writecodehereif(n=......
  • 牛客 --- 音量调节(递推dp)
    原题链接:https://ac.nowcoder.com/acm/problem/19990思路:1)很像电梯问题,升或降对应调高或调低,所以内部每次要考虑两个状态。说到内部,如何结合01背包找最大音量呢?2)我们知......
  • Python DevOps运维开发实战集训营【中级班,第8期,2022年12月结课】
    点击下载——​​PythonDevOps运维开发实战集训营【中级班,第8期,2022年12月结课】​​提取码:as28《PythonDevOps运维开发实战集训营【中级班】》,第8期,2022年12月10号结课......
  • 牛客挑战赛64
    https://ac.nowcoder.com/acm/contest/42819题目出得很好分析:很清晰的一道启发式合并小集合合并到大集合当1在大集合时遍历小集合的时候就可统计答案当1在小集......