BFS標記(BFS染色)

2022-06-08 17:51:08 字數 1603 閱讀 5176

經過多年的征戰,牛牛在與牛可樂的對決漸漸處於下風,於是牛牛決定對牛可樂來一次大圍剿。

戰場可以看作一張 n∗m的地圖,牛可樂的士兵只能上下左右移動,不能斜著移動,牛牛決定挖一圈陷阱包圍牛可樂的士兵。牛牛想知道包圍牛可樂的士兵所需要的最少的陷阱數量是多少(劃掉,具體請看update),但是牛牛並不會排兵布陣,於是只能求助於你了。

保證地圖的邊界處不會有士兵.

保證牛可樂的士兵是連通的

要求牛可樂使用的陷阱構成的包圍圈與牛可樂的士兵之間要求是緊密接觸的

第一行輸入兩個整數 n和 m,表示地圖的大小

下面 n行每行 m個字元,.表示空地,#表示士兵。

保證輸出的字串只包含 .和 #

輸出挖完陷阱後的地圖,陷阱用 ∗來表示.

輸入複製

6 5

.....

.###.

.#.#.

.###.

..##.

.....

複製

.***.

*###*

*#.#*

*###*

.*##*

..**.

示例2

1≤n,m≤500

這個題用到的是bfs染色

bfs跑一邊可以他的外圍都標記上

1,1);//bfs染色

for(int i=1;i<=n;i++)

if(a[i][j+1]=='.'

)

if(a[i+1][j]=='.'

)

if(a[i-1][j]=='.'

) }}}

for(int i=1;i<=n;i++)}}

for(int i=1;i<=n;i++)

printf("\n

");}

}

BFS 標記路徑

bfs 華爾茲 有乙個 n x m 大小的網格,其中有些格點比較特殊,當玩家站在上面的時候會自動移動到相鄰四個方向之一,另外一些格點暫時還並不特殊,因為它們的移動方向還未知,如下圖 上圖中,第一列和最後一行格點的移動方向未知,其他點的移動方向已經確定了,已經在圖中用箭頭指出其方向。現在給定乙個起點 ...

bfs 三維標記

做訓練賽遇到的一道題,感覺很好。大致題意 現在給你乙個地圖n m,代表是空格子,代表是有柱子阻隔。現在你站在a點,要走到b點。走的時候要遵循乙個規則 必須走相鄰的格仔,如果相鄰的格仔為有柱子格仔,那麼這個格仔與有柱子的格仔相鄰的邊 如果乙個有柱子的格仔的兩條或者多條不同的邊 了,那麼這個格仔就會變成...

POJ3984 迷宮問題(BFS 標記路徑)

每日打卡 1 1 題目大意 01迷宮,0能走1不能走,從左上角走到右下角,要求輸出最短路徑。思路 bfs,汲取前天題目的經驗,採用結構體指標標記路徑,然後輸出。include include include include include include include includeusing n...