藍橋杯2017初賽 迷宮 DFS

2022-05-03 12:21:22 字數 2145 閱讀 9180

題目描述

x星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。

房間的地板上寫著乙個很大的字母。我們假設玩家是面朝上坡的方向站立,則:

l表示走到左邊的房間,r表示走到右邊的房間,u表示走到上坡方向的房間,d表示走到下坡方向的房間。

x星球的居民有點懶,不願意費力思考。他們更喜歡玩運氣類的遊戲。這個遊戲也是如此!

開始的時候,***把100名玩家放入乙個個小房間內。玩家一定要按照地上的字母移動。

迷宮地圖如下:

------------

uddluulrul

uurlllrrru

rruurldlrd

rudddduuuu

urudllrruu

durlrldlrl

ullurllrdu

rdlullrddd

uuddududll

ulrdluurrr

------------

請你計算一下,最後,有多少玩家會走出迷宮? 而不是在裡邊兜圈子。

輸出

輸出乙個整數表示答案

提示為方便理解,可參考此圖

答案:31

dfs:

#include#include

#include

#include

#include

using

namespace

std;

char a[15][15

];int vis[15][15

];int ans = 0

;void dfs(int i, int

j)

else

}int

main()

cout

<< ans <

return0;

}

暴力:

#include#include

#include

#include

#include

using

namespace

std;

char a[15][15],c[15][15

];int vis[15][15

];int ans = 0

;int

main()

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

if (vis[x][y] == 0

) vis[x][y] = 1

;

else

break

; }

if (a[x][y] == 'l'

)

if (vis[x][y] == 0

) vis[x][y] = 1

;

else

break

; }

if (a[x][y] == 'r'

)

if (vis[x][y] == 0

) vis[x][y] = 1

;

else

break

; }

if (a[x][y] == 'd'

)

if (vis[x][y] == 0

) vis[x][y] = 1

;

else

break

; }}}

}cout

<< ans <

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

//return0;

}

藍橋杯2017初賽 迷宮 dfs

題目描述 x星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。房間的地板上寫著乙個很大的字母。我們假設玩家是面朝上坡的方向站立,則 l表示走到左邊的房間,r表示走到右邊的房間,u表示走到上坡方向的房間,d表示走到下坡方向的房間。x星球的居民有點懶,不願意費力思考。他們更喜...

藍橋杯2017初賽 迷宮

請你計算一下,最後,有多少玩家會走出迷宮?而不是在裡邊兜圈子。答 很簡單的題吧算是,今天開始每日還就那個一更,話說這x星人確實也太懶了點吧?include include using namespace std char x 10 10 int visit 10 10 如果這個村民一直不出來他肯定會...

2017 藍橋杯 迷宮(dfs)

x星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。房間的地板上寫著乙個很大的字母。我們假設玩家是面朝上坡的方向站立,則 l表示走到左邊的房間,r表示走到右邊的房間,u表示走到上坡方向的房間,d表示走到下坡方向的房間。x星球的居民有點懶,不願意費力思考。他們更喜歡玩運氣類...