切換
舊版
前往
大廳
主題

ZeroJudge - c625: 貪食蛇 #2 ( 穿牆版 ) 解題心得

Not In My Back Yard | 2019-03-09 19:05:23 | 巴幣 0 | 人氣 194

題目連結:


題目大意:
昨天的題目幾乎一樣。但是這次蛇蛇可以翻出牆外(地圖外),從左邊出去就從右邊進來、從右邊出去就從左邊進來,以此類推。

同樣也是求當蛇蛇停下來之後,身體各部位的 x 、 y 座標。



範例輸入:
soo$o$o$oooooooo$ooxo
o$oxo$oooooo$$ooooooo
o$ooo$oxoooooooooo$oo
ooooooooooooooo$ooo$o
oooooox$oooo$oooooo$$
ooooooo$oxxooo$oooooo
oooooooooooooooo$oooo
ooooooo$$ooo$oooo$ooo
ox$oooooooooooxo$ooxx
ooooooo$ooooooooooooo
ooo$$$$o$ooooooooooo$
$o$oooooooooo$oooooo$
ooo$ooooooo$oo$oooooo
oo$ooo$oo$$ooooo$oooo
$o$ooo$ooooooo$ooo$oo
N 1 W 9 S 10 W 28 S 12 W 17


範例輸出:
9 6
10 6
11 6
12 6
13 6
14 6
15 6
16 6
17 6
18 6
19 6
20 6
0 6


解題思維:
昨天的題目類似。但是這次判斷蛇蛇要不要停下來的條件變成只剩下撞到障礙物(字元 x )以及撞到自己的身體。超出邊界不再是蛇蛇的停止條件。

而因為從右邊出去,會從左邊回來, x 座標等同減去 21 (也像是取 21 的餘數,但是要取正數)。同理,從左邊出去, x 加上 21;從上面出去, y 座標加 15 ;從下面出去, y 座標減 15 。

剩下的步驟就跟昨天一樣。

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

創作回應

相關創作

更多創作