Bajtek 正在玩一台舊的黑白電視,它的螢幕大小為 $100 \times 100$ 像素。他可以在上面顯示任何圖片,決定哪些像素亮起,哪些像素熄滅。然而,這台電視有缺陷,通常顯示的圖片不會在上面停留太久。
一個由 4 個相鄰像素組成的 $2 \times 2$ 正方形,如果其中恰好有兩個對角像素是亮起的,我們就稱之為「壞的」。電視每秒鐘會改變所有屬於至少一個壞正方形的像素狀態——原本亮起的像素會熄滅,原本熄滅的像素會亮起。
舉例來說,考慮一台螢幕大小為 $4 \times 4$ 像素的電視,其初始配置如左圖所示。接下來的圖片顯示了電視螢幕在接下來幾秒鐘內的樣子:
第 0 秒、第 1 秒、第 2 秒、第 3 秒
Bajtek 想要利用這個效應,盡可能最大化螢幕出現不重複配置的數量。換句話說,我們想要最大化某個螢幕配置重複出現所需的時間。在上面的例子中,我們可以看到第 3 秒的配置與第 1 秒的配置完全相同,因此我們有三種不重複的螢幕配置。
你的任務是找到並輸出初始的像素配置。你在這道題目的得分將取決於某個螢幕配置重複出現所需的秒數。
輸入格式
本題沒有輸入。
輸出格式
請輸出 100 行,每行包含一個由 100 個字元 1 和 0 組成的字串,代表電視螢幕的初始配置(1 代表像素亮起,0 代表熄滅)。
子任務
你的程式將被執行 10 次;如果某個螢幕配置重複出現所需的秒數至少為 $(10 \cdot i - 1)^2$,則第 $i$ 次執行將獲得 1 分。
測試
在 SIO 的「檔案與測試」(Pliki i testy)區塊中,有一個包含視覺化工具的壓縮檔。一個 Python 腳本(需要 matplotlib 和 numpy 函式庫)可以讓你查看顯示的配置。
要執行視覺化工具,請使用以下指令:
python3 visualise.py < mig.txt
壓縮檔中還包含一個範例檔案 mig.txt。
你可以根據自己的需求自由修改這個視覺化工具。
注意: 我們已盡一切努力確保視覺化工具對癲癇患者是安全的,但仍請保持謹慎。