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.