有乙個愚蠢的機械人走進乙個w*h的迷宮,迷宮裡有空地和陷阱。他想要訪問迷宮的每個方格,但是它很笨,只會按照指令的方向走。當機械人不能走的時候,也就是下一步會遇到陷阱或迷宮邊界,它會向右轉90度(順時針旋轉90度)。請問這個機械人最多可以經過多少個方格。
對於每組資料,第一行兩個數w和h,表示迷宮的行和列(1<=w,h<=10)
接下來w行每行有h個字元用於描述這個迷宮。迷宮的『.』表示空地,即為可以走的地方。『*』表示陷阱,即為不能走的地方。迷宮中有乙個英文本母,表示機械人的出發點,字母只有』u』,』d』,』l』,』r』四種。分別表示機械人的初始指令是向上,向下,向左,向右。
對於每組資料,輸出乙個整數,即機械人一共經過多少個方格。
源**:
#include
#include
const int maxnum=10;
char maps[maxnum][maxnum];
int sx,sy;//起始座標
int w,h;//初始輸入的w行h列的地圖資料
char dir="urdl";
int visited[maxnum][maxnum];
int ans;//ans為最終的答案,即機械人可以走的步數
int dx=; //順序為上右下左 ,順時針方向
int dy=;
void dfs(int x,int y,int dir,int steps)else}}
int main()}}
}memset(visited,0,sizeof(visited));
ans=0;
dfs(sx,sy,cur,1);//遞迴呼叫dfs函式,該函式第一次呼叫表示的是在(sx,sy)為起點,方向為cur開始走迷宮,當前步數為1
printf("%d\n",ans);
}return 0;
}
中南大學2019研究生複試機試題
2 模擬出入棧遊戲 3 爬樓梯遊戲 pipi現有a z共26種球,權值從a到z依次為1,2,3 26,現從已有的n個球中選出固定k個從左到右排列,要求右邊的球權值至少比左邊大2,在給定n和k的情況下,求最小權重和。輸入包含多組資料。每組資料第一行包含兩個整數 n,k 1 k n 50 第二行是乙個長...
2023年中南大學研究生複試機試題
題目描述 現有n階樓梯,pipi從第一階走到第n階,每次可以跨一階或者兩階,問pipi從第一階走到第n階總共有多少種可能。為了防止結果過大,需要讓結果對p取模。ps p 1e9 7.輸入輸入包含多組測試用例。每組樣例第一行輸入樓梯的階數n。1 n 1000000 輸出對於每組樣例,輸出方案數。最後結...
2020中南大學研究生招生夏令營機試題
題目描述 眾所周知,彩虹有7種顏色,我們給定七個 字母和顏色 的對映,如下所示 a red b orange c yellow d green e cyan f blue g purple 但是在某一天,彩虹的顏色少了幾種,你能告訴pipi哪些彩虹的顏色沒有出現過嗎?輸入輸入包含多組測試用例。對於每...