小屋創作

巴哈姆特 APP

專屬 ACG 勇者的廣闊世界

以 APP 瀏覽

日誌2020-09-08 00:00

ZeroJudge - f257: 君王的處刑遊戲 解題心得

作者:Not In My Back Yard

題目連結:
f257: 君王的處刑遊戲


題目大意:
輸入有多筆測試資料。

每筆第一列給定一正整數 n (0 < n ≦ 100),代表現在有 n × n 個囚犯排成一個方陣。第二列給定一整數 k ,代表要處決的人數。

接著有 k 列輸入,每列給定兩整數 x 、 y (0 ≦ x 、 y < n),代表要處決的人之所在位置。其中,方陣左上角為(0, 0),往右方為 +x 方向、往下方為 +y 方向。而每處決一個人,該人周遭的囚犯之驚恐值會上升 1 。可能會有重複被點名要處決的人,請跳過該次處決不要重複地增加周遭的驚恐值。

請將這 k 個人處決完後,輸出這 n × n 的方陣每個囚犯之驚恐值。已經被處決的人,請用「x」表示。輸出格式參見範例輸出。



範例輸入:
範例輸入一:
3
8
0 0
0 1
0 2
1 0
1 2
2 0
2 1
2 2

範例輸入二:
4
9
0 3
2 1
0 1
3 0
2 2
1 1
1 1
2 2
3 0


範例輸出:
範例輸出一:
xxx
x8x
xxx

範例輸出二:
233x
xxx3
35x2
x211


解題思維:
其實基本上等同於踩地雷,如這題。在本題中,地雷代表的是被處決的人;而數字代表周圍八格有幾個地雷,也就是該人周遭有幾個人被處決。只是本題要判斷有沒有人被重複處刑,有的話就跳過該處刑(也就是不用重複計算驚恐值)。



本人的程式碼(放在CodePile)

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

1

0

LINE 分享

相關創作

ZeroJudge - f313: 2. 人口遷移 解題心得

ZeroJudge - f289: 求極限 解題心得

LeetCode - 414. Third Maximum Number 解題心得

留言

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】