QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 1024 MB Total points: 10

#10247. 快門 [C]

الإحصائيات

Bajtek 正在玩一台舊的黑白電視,它的螢幕大小為 $100 \times 100$ 像素。他可以在上面顯示任何圖片,決定哪些像素亮起,哪些像素熄滅。然而,這台電視有缺陷,通常顯示的圖片不會在上面停留太久。

一個由 4 個相鄰像素組成的 $2 \times 2$ 正方形,如果其中恰好有兩個對角像素是亮起的,我們就稱之為「壞的」。電視每秒鐘會改變所有屬於至少一個壞正方形的像素狀態——原本亮起的像素會熄滅,原本熄滅的像素會亮起。

舉例來說,考慮一台螢幕大小為 $4 \times 4$ 像素的電視,其初始配置如左圖所示。接下來的圖片顯示了電視螢幕在接下來幾秒鐘內的樣子:

第 0 秒、第 1 秒、第 2 秒、第 3 秒

Bajtek 想要利用這個效應,盡可能最大化螢幕出現不重複配置的數量。換句話說,我們想要最大化某個螢幕配置重複出現所需的時間。在上面的例子中,我們可以看到第 3 秒的配置與第 1 秒的配置完全相同,因此我們有三種不重複的螢幕配置。

你的任務是找到並輸出初始的像素配置。你在這道題目的得分將取決於某個螢幕配置重複出現所需的秒數。

輸入格式

本題沒有輸入。

輸出格式

請輸出 100 行,每行包含一個由 100 個字元 10 組成的字串,代表電視螢幕的初始配置(1 代表像素亮起,0 代表熄滅)。

子任務

你的程式將被執行 10 次;如果某個螢幕配置重複出現所需的秒數至少為 $(10 \cdot i - 1)^2$,則第 $i$ 次執行將獲得 1 分。

測試

在 SIO 的「檔案與測試」(Pliki i testy)區塊中,有一個包含視覺化工具的壓縮檔。一個 Python 腳本(需要 matplotlibnumpy 函式庫)可以讓你查看顯示的配置。

要執行視覺化工具,請使用以下指令:

python3 visualise.py < mig.txt

壓縮檔中還包含一個範例檔案 mig.txt。 你可以根據自己的需求自由修改這個視覺化工具。

注意: 我們已盡一切努力確保視覺化工具對癲癇患者是安全的,但仍請保持謹慎。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.