k991. 人生遊戲
標籤 :
通過比率 : 2人/4人 ( 50% ) [非即時]
評分方式:
Special

最近更新 : 2024-02-02 16:47

內容

有一對兄妹,哥哥是肯肯肯,妹妹是小石頭,他們很會玩遊戲,而且他們從來沒有輸過。

有一天他們被傳送進了一個叫做「人生遊戲(Game of Life)」的世界,他們要跟裡面的人玩遊戲才有辦法出來。

遊戲規則是這樣的:

有一個無限延伸的二維格子平面,每個格子的狀態有存活與死亡,在時刻 0 的時候,有一些格子是存活的,剩下的都是死亡的。

若在時刻 t 某個格子的狀態是存活的,並且周圍 8 格剛好有 23 格也是存活的,那這個格子在時刻 t+1 會繼續存活,否則會死亡;若在時刻 t 某個格子的狀態是死亡的,並且周圍 8 格剛好有 3 格是存活的,那這個格子在時刻 t+1 會變成存活的狀態。

總共有三關,每關的關主會在時刻 0 的時候將某些格子的狀態設成存活的,肯肯肯和小石頭必須也要在時刻 0 將某些格子設成存活的,並且 x,y 座標限定在 09 之間。

  • 第一關的關主會設置一個 2×2 的方塊,也就是將 (20,20),(20,21),(21,20),(21,21) 的狀態設成存活。
  • 第二關的關主會設置兩個 2×2 的方塊,也就是將 (20,20),(20,21),(21,20),(21,21) 還有 (23,23),(23,24),(24,23),(24,24) 的狀態設成存活。
  • 第三關的關主會設置一個航空母艦,也就是將 (20,20),(20,21),(21,20),(22,22),(23,21),(23,22) 的狀態設成存活。

這三關都有一個有趣的性質,就是只要附近沒有存活的格子,那關主設置的存活的格子在下一個時刻仍然會保持原樣。

肯肯肯和小石頭的目標是要想辦法將某些 x,y 座標在 09 之間的格子在時刻 0 設成存活的,並讓它們去消滅關主設置的格子,通關的條件是時刻 100 時所有格子都是死亡的。

小石頭太久沒回家會很害怕,請你幫幫她!

輸入說明

輸入只有一個整數 level,代表是第幾關。

  • 1level3
輸出說明

第一行輸出一個整數 k,代表肯肯肯和小石頭在時刻 0k 個格子的狀態設成存活的。

接下來 k 行,每行輸出兩個整數 xi,yi,代表其中一個被設成存活的格子座標。

  • 0k100
  • 0xi,yi9
  • ij,(xi,yi)(xj,yj)
範例輸入 #1


											
										
範例輸出 #1

											
測資資訊:
記憶體限制: 256 MB
不公開 測資點#0 (30%): 2.0s , <1K
不公開 測資點#1 (30%): 2.0s , <1K
不公開 測資點#2 (40%): 2.0s , <1K
提示 :

這裡有可以測試的 C++ 程式碼(https://ideone.com/MCYo9t),方法是先輸入是第幾關,然後輸入 k,代表肯肯肯和小石頭在時刻 0k 個格子的狀態設成存活的,接下來 k 行,每行輸入兩個整數 xi,yi,代表其中一個被設成存活的格子座標。如果在時刻 100 所有格子都是死亡的程式會顯示 accepted,否則會顯示 wrong answer。

-------------------------------------------------------

30%:第一關

30%:第二關

40%:第三關

標籤:
出處:
第七屆簡單的小競賽 [管理者: becaido (Caido) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」