藍橋杯之迷宮 python解法

2021-10-19 12:30:05 字數 1477 閱讀 5522

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

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

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

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

l表示走到左邊的房間,

r表示走到右邊的房間,

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

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

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

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

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

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

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

而不是在裡邊兜圈子。

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

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

重新建立乙個矩陣儲存走過的次數即可,超過兩次就不能出來

x =

["uddluulrul"

,"uurlllrrru"

,"rruurldlrd"

,"rudddduuuu"

,"urudllrruu"

,"durlrldlrl"

,"ullurllrdu"

,"rdlullrddd"

,"uuddududll"

,"ulrdluurrr"

]res =

0for i in

range

(len

(x))

:for j in

range

(len

(x[0])

):n =[[

0]*10

for _ in

range(10

)]a = i

b = j

n[a]

[b]+=

1while n[a]

[b]==1:

if x[a]

[b]==

'u':

a -=

1elif x[a]

[b]==

'd':

a +=

1elif x[a]

[b]==

'l':

b -=

1else

: b +=1if

(a<

0or a >=

10or b <

0or b >=10)

: res +=

1break

n[a]

[b]+=

1if n[a]

[b]>1:

break

print

(res)

藍橋杯之迷宮

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

藍橋杯 迷宮 Python

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

藍橋杯之迷宮改編

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