中南大學研究生機試題記錄

2021-08-28 16:40:52 字數 922 閱讀 7627

有乙個愚蠢的機械人走進乙個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哪些彩虹的顏色沒有出現過嗎?輸入輸入包含多組測試用例。對於每...