#HK4876. 「PA 2025」Migawka
「PA 2025」Migawka
题目描述
Bajtek 在玩一台老旧的黑白电视,屏幕大小是 像素。他可以随意设置哪个像素点亮、哪个熄灭,画出任何图案。但这台电视有故障,显示的图案通常撑不了多久。
对于一个由 4 个角对角相邻的像素组成的 小方块,如果其中正好两个对角像素点亮,我们称为坏方块。每秒钟,电视会翻转所有属于至少一个坏方块的像素状态——亮的变暗,暗的变亮。

例如,想象一台 像素的电视,初始状态如左图所示。接下来的图展示了接下来四秒屏幕的样子:

Bajtek 想利用这个特性,让屏幕图案尽可能长时间不重复。换句话说,他希望最大化某个图案重复出现前的时间。上面的例子中,第 3 秒的图案和第 1 秒相同,所以有 个独特图案。
你的任务是找出一个初始像素状态并输出。你的得分取决于在图案重复出现之前经过的时间有多长。
输入格式
这道题没有输入数据。
输出格式
输出 行,每行是一个由 个字符( 或 )组成的字符串,表示电视屏幕的初始配置( 表示点亮, 表示熄灭)。
评分规则
你的程序若在图案重复出现的之前经过的时间(秒数)至少为 ,则得 分。
测试工具
在「文件」界面,有一个可视化工具的压缩包。包含一个 Python 脚本(需安装 matplotlib 和 numpy 库),可以展示配置变化。
运行可视化命令:
python3 visualise.py < mig.txt
压缩包内还有一个样例文件 mig.txt。你可以根据需要自由修改这个可视化工具。
注意:我们尽力确保可视化对癫痫患者安全,但请谨慎使用。