在這個遊戲中,它位於乙個 n 行 m 列的方陣中的左上角(座標為(0, 0),行的序號為0 \sim n - 10∼n−1,列的序號為0 \sim m - 10∼m−1)。
現在它想不重複地走過所有格仔(除了起點),最後回到左上角的乙個方案。
每次只能往上下左右其中乙個方向走一格。
輸入描述:
僅一行兩個整數 n 和 m,表示方陣的大小。保證大於1 \times 11×1。
輸出描述:
如果存在方案,則輸出一行操作,包含"l"、「r」、「u」、「d」,分別表示左、右、上、下。如果有多種方案,輸出任意一種即可。
如果沒有方案,則在一行中輸出"-1"。
示例1輸入
複製2 2
輸出複製
rdlu
示例2輸入
複製2 3
輸出複製
rrdllu
思路:構造題,n和m為奇數時無解,剩下的分情況討論走蛇形位。
#include
using
namespace std;
intmain()
if(m==
1&&n==2)
if((nn&&mm)
||n==
1||m==1)
if(nn)
for(
int i=
0;i<=n-2;
++i) cout<<
"u";
for(
int i=
0;i<=m-2;
++i) cout<<
"l";
}else
for(
int i=
0;i<=m-2;
++i) cout<<
"l";
for(
int i=
0;i<=n-2;
++i) cout<<
"u";
}}
牛客 2019蘑菇街 方格走法
題目描述 有乙個x y的網格,小團要在此網格上從左上角到右下角,只能走格點且只能向右或向下走。請設計乙個演算法,計算小團有多少種走法。給定兩個正整數int x,int y,請返回小團的走法數目。輸入描述 輸入包括一行,空格隔開的兩個正整數x和y,取值範圍 1,10 輸出描述 輸出一行,表示走法的數目...
牛客演算法題 機械人走方格II 動態規劃
有乙個xxy的網格,乙個機械人只能走格點且只能向右或向下走,要從左上角走到右下角。請設計乙個演算法,計算機械人有多少種走法。注意這次的網格中有些障礙點是不能走的。給定乙個intmap c 中為vector 表示網格圖,若map i j 為1則說明該點不是障礙點,否則則為障礙。另外給定intx,int...
牛客 走迷宮 模擬 離線
題目大意 給出乙個走迷宮的策略 while 1 sum k 總步數實時更新 y right 1 更新y座標 up 邊界改變 下同,就不一一贅述了 else if state 1 sum k x down 1 right else if state 2 sum k y left 1 down else...