有一對兄妹,哥哥是肯肯肯,妹妹是小石頭,他們很會玩遊戲,而且他們從來沒有輸過。
有一天他們被傳送進了一個叫做「人生遊戲(Game of Life)」的世界,他們要跟裡面的人玩遊戲才有辦法出來。
遊戲規則是這樣的:
有一個無限延伸的二維格子平面,每個格子的狀態有存活與死亡,在時刻 $0$ 的時候,有一些格子是存活的,剩下的都是死亡的。
若在時刻 $t$ 某個格子的狀態是存活的,並且周圍 $8$ 格剛好有 $2$ 或 $3$ 格也是存活的,那這個格子在時刻 $t+1$ 會繼續存活,否則會死亡;若在時刻 $t$ 某個格子的狀態是死亡的,並且周圍 $8$ 格剛好有 $3$ 格是存活的,那這個格子在時刻 $t+1$ 會變成存活的狀態。
總共有三關,每關的關主會在時刻 $0$ 的時候將某些格子的狀態設成存活的,肯肯肯和小石頭必須也要在時刻 $0$ 將某些格子設成存活的,並且 $x,y$ 座標限定在 $0\sim 9$ 之間。
這三關都有一個有趣的性質,就是只要附近沒有存活的格子,那關主設置的存活的格子在下一個時刻仍然會保持原樣。
肯肯肯和小石頭的目標是要想辦法將某些 $x,y$ 座標在 $0\sim 9$ 之間的格子在時刻 $0$ 設成存活的,並讓它們去消滅關主設置的格子,通關的條件是時刻 $100$ 時所有格子都是死亡的。
小石頭太久沒回家會很害怕,請你幫幫她!
輸入只有一個整數 $\text{level}$,代表是第幾關。
第一行輸出一個整數 $k$,代表肯肯肯和小石頭在時刻 $0$ 將 $k$ 個格子的狀態設成存活的。
接下來 $k$ 行,每行輸出兩個整數 $x_i,y_i$,代表其中一個被設成存活的格子座標。
這裡有可以測試的 C++ 程式碼(https://ideone.com/MCYo9t),方法是先輸入是第幾關,然後輸入 $k$,代表肯肯肯和小石頭在時刻 $0$ 將 $k$ 個格子的狀態設成存活的,接下來 $k$ 行,每行輸入兩個整數 $x_i,y_i$,代表其中一個被設成存活的格子座標。如果在時刻 $100$ 所有格子都是死亡的程式會顯示 accepted,否則會顯示 wrong answer。
-------------------------------------------------------
$30\%:第一關$
$30\%:第二關$
$40\%:第三關$
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|