d626: 小畫家真好用
內容
Windows 的小畫家真好用!
(至少在處理 PrintScreen 方面蠻快的…)
大家都知道
小畫家裡面有一種繪圖工具
叫做油漆桶工具
只要選定你要的顏色、油漆的地點就可以進行填色
油漆桶的填色範圍是取決於”同色塊相鄰”的原則
現在請你模擬這項工具
輸入
每個測資點只有一筆測資。
第一行有整數 n(1<=n<=100)表示這張圖的大小是(nn)個字元
接下來的 n 行,每行 n 個字元表示這張圖的樣子。
只有+、-兩種字元組成(兩種顏色的意思)
在最後一行,有兩個整數 i,j 表示油漆桶點擊的地點是第(i+1)列第(j+1)個字元,
[
假設有圖如下 3*3:
012
0---
1-+-
2-++
那麼 0,2 就表示這格:
012
0--\
1-+-
2-++
]
請視選取的顏色為+,選取的位置原本的顏色必為-
並且墨水只會利用上下左右四個方位擴散
7
-------
-+++---
-+--+--
-+---+-
--+++--
---++--
-------
3 4
輸出
請直接輸出經過油漆桶塗色後的圖案
-------
-+++---
-++++--
-+++++-
--+++--
---++--
-------
解題思路
用 dfs 從目標點開始遍歷所有可能,遇到'-'就將他改為'+‘\,遇到'+'則返回,遍歷完畢後輸出更新後的圖即可。
注意處理邊界問題。
完整程式碼
AC (2ms, 112KB)
|