第八屆藍橋杯省賽C A組 迷宮(DFS)

2021-10-02 12:51:21 字數 1281 閱讀 2703

迷宮地圖如下:

請你計算一下,最後,有多少玩家會走出迷宮? 

而不是在裡邊兜圈子。

請提交該整數,表示走出迷宮的玩家數目,不要填寫任何多餘的內容。

如果你還沒明白遊戲規則,可以參看乙個簡化的4x4迷宮的解說圖:

答案:31

思路:其實也是dfs型別的問題。通過對每乙個方個進行列舉,對他進行深度優先遍歷,找尋出路,直到走的路全部已經走過了,然後就跳出來。

#include#includeusing namespace std;

char m[15][15] = ;

int vis[15][15];

int ans = 0;//記錄符合要求的個數

void f(int x, int y)

if (!vis[x][y]) }

}int main()

} cout << ans << endl;

system("pause");

return 0;

}

更新:

#include#include#includeusing namespace std;

char map[10][10];

int vis[10][10] = ;

int sum = 0;

void dfs(int i,int j)

if (!vis[i][j])//深入條件

if (map[i][j] == 'd')

if (map[i][j] == 'r')

if (map[i][j] == 'l')

}vis[i][j] = 0;//恢復環境

}int main()

for (int i = 0; i < 10; i++) }

cout << sum << endl;

system("pause");

return 0;

}

藍橋杯第八屆省賽

第4題 6x6的方格,沿著格仔的邊線剪開成兩部分。要求這兩部分的形狀完全相同。如圖 p1.png,p2.png,p3.png 就是可行的分割法。試計算 包括這3種分法在內,一共有多少種不同的分割方法。注意 旋轉對稱的屬於同一種分割法。請提交該整數,不要填寫任何多餘的內容或說明文字。圖的dfs 按照兩...

第八屆藍橋杯省賽C A組 正則問題(DFS)

描述 正則問題 考慮一種簡單的正規表示式 只由 x 組成的正規表示式。小明想求出這個正規表示式能接受的最長字串的長度。例如 xx x x xx xx 能接受的最長字串是 長度是6。輸入 乙個由x 組成的正規表示式。輸入長度不超過100,保證合法。輸出 這個正規表示式能接受的最長字串的長度。例如,輸入...

第八屆藍橋杯省賽C A組 字母組串(遞迴)

include a個a,b個b,c個c 字母,能組成多少個不同的長度為n的串。int f int a,int b,int c,int n int main 對於上面的測試資料,小明口算的結果應該是 619 注意 只填寫劃線部分缺少的 不要提交任何多餘內容或說明性文字。答案 f a 1,b,c,n 1...