藍橋杯 迷宮(Python 實現)

2021-10-19 12:11:09 字數 2462 閱讀 2046

題目:

x星球的一處迷宮遊樂場建在某個小山坡上。

它是由10x10相互連通的小房間組成的。

房間的地板上寫著乙個很大的字母。

我們假設玩家是面朝上坡的方向站立,則:

l表示走到左邊的房間,

r表示走到右邊的房間,

u表示走到上坡方向的房間,

d表示走到下坡方向的房間。

x星球的居民有點懶,不願意費力思考。

他們更喜歡玩運氣類的遊戲。這個遊戲也是如此!

開始的時候,***把100名玩家放入乙個個小房間內。

玩家一定要按照地上的字母移動。

迷宮地圖如下:

uddluulrul

uurlllrrru

rruurldlrd

rudddduuuu

urudllrruu

durlrldlrl

ullurllrdu

rdlullrddd

uuddududl

ulrdluurrr

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

而不是在裡邊兜圈子。

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

move=[[

'u',

'd',

'd',

'l',

'u',

'u',

'l',

'r',

'u',

'l'],[

'u',

'u',

'r',

'l',

'l',

'l',

'r',

'r',

'r',

'u'],[

'r',

'r',

'u',

'u',

'r',

'l',

'd',

'l',

'r',

'd'],[

'r',

'u',

'd',

'd',

'd',

'd',

'u',

'u',

'u',

'u'],[

'u',

'r',

'u',

'd',

'l',

'l',

'r',

'r',

'u',

'u'],[

'd',

'u',

'r',

'l',

'r',

'l',

'd',

'l',

'r',

'l'],[

'u',

'l',

'l',

'u',

'r',

'l',

'l',

'r',

'd',

'u'],[

'r',

'd',

'l',

'u',

'l',

'l',

'r',

'd',

'd',

'd'],[

'u',

'u',

'd',

'd',

'u',

'd',

'u',

'd',

'l',

'l'],[

'u',

'l',

'r',

'd',

'l',

'u',

'u',

'r',

'r',

'r']

]def

tes(y,x,a)

:if y<

0or y>

9or x<

0or x>9:

return

1elif a>

100:

return

0if move[y]

[x]==

'u':

return tes(y-

1,x,a+1)

elif move[y]

[x]==

'd':

return tes(y+

1,x,a+1)

elif move[y]

[x]==

'r':

return tes(y,x+

1,a+1)

else

:return tes(y,x-

1,a+1)

res=

0for y in

range(10

):for x in

range(10

):

res+=tes(y,x,0)

print

(res)

結果:31

藍橋杯 迷宮 Python

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

藍橋杯之迷宮 python解法

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

藍橋杯之迷宮

請提交該整數,表示走出迷宮的玩家數目,不要填寫任何多餘的內容。思路 本來想的是類似求解迷宮問題的深搜,發現它無法遍歷每個點,還不如兩層迴圈來得快,判斷每個點,然後用深搜,每走一步標記陣列對應值改變為 1,超出邊界符合題意,移動到標記陣列值為 1 則表示兜圈子,直到所有點判斷結束。include us...