AT_birthday0410_b.ライスゲーム

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

显然,问题中的“虱子游戏”规则与康威生命游戏完全相同。因此需考虑无限网格上的生命游戏。

生命游戏中,无限网格上的每个细胞存在“生”或“死”两种状态。初始时设定若干个细胞为“生”细胞,其余细胞为“死”细胞。细胞的下一代状态由细胞的当前状态及周边八个细胞的状态决定。具体规则如下:

  • “生”细胞:若周边“生”细胞数为 22 或 33 个,则保持“生”(否则转为“死”)
  • “死”细胞:若周边“生”细胞数恰好为 33 个,则转为“生”(否则保持“死”)

可参考维基百科生命游戏条目中的相同规则描述。

若一组“生”细胞配置中,任意“生”细胞均可通过在八个方向上相邻的“生”细胞到达其他“生”细胞,则称该配置为一个八向连通配置。

请编写程序,找出一个由 NN 个“生”细胞构成的八向连通配置,该配置需满足:经过任意次迭代后,配置完全不变(即初始 NN 个“生”细胞始终为“生”细胞,其余细胞始终为“死”细胞)。

输入格式

NN

NN 表示“生”细胞的数量。

输出格式

S1S_1
S2S_2
…\dots
SNS_N

对于正整数 ii(1≤i≤N1\le i\le N),SiS_i 为一个长度为 NN 的字符串,表示细胞状态。这 NN 个字符串可以看作从无限网格中截取的 N×NN\times N 区域。

所有 SiS_i 仅由 . 或 # 这两种字符组成,. 表示“死”细胞,# 表示“生”细胞。所有 SiS_i 中 # 的总数必须恰好为 NN,且所有 # 需构成一个八向连通配置。

若不存在满足条件的配置,则输出 -1。

输入输出样例

  • 输入#1

    4

    输出#1

    ....
    .##.
    .##.
    ....
    
  • 输入#2

    1

    输出#2

    -1

说明/提示

【数据范围】

  • Subtask 1(1 分):1≤N≤81\le N \le 8。
  • Subtask 2(99 分):无特殊限制。

对于全部数据,1≤N≤10001\le N \le 1000。

部分翻译由 Deepseek 生成。

输入解题思路,AI测评打分。不知道怎么写?

首页