AT_tupc2022_f.Block Rotation

通过率:0%

AC君温馨提醒

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

题目描述

有一个 N×NN \times N 的格子。对于 i=1,2,…,Ni = 1,2,\dots,N,从左起第 ii 列的最底部有 MiM_i 个 1×11 \times 1 的正方形小方块,每个方块都被涂上了颜色。这里 M1,M2,…,MNM_1,M_2,\dots,M_N 是单调不增的。对于从左起第 ii 列,从下往上第 jj 个方块被涂上了颜色 Ci,jC_{i,j}。

对于格子,考虑如下操作:

  • 将整个格子顺时针瞬间旋转 90∘90^\circ,然后所有有颜色的方块会根据重力“同时下落”。更为形式化地说,对于从左起第 ii 列从下往上第 jj 个方块,若与其同高、且在其右侧的方块有 ci,jc_{i,j} 个(包括颜色为 00 的空格子),则该方块会被移动到从左起第 jj 列,从下往上第 ci,j+1c_{i,j}+1 个格子。此移动会对所有方块同时进行。

请问最少需要多少次操作,格子才能回到刚开始的状态?请输出对 998244353998244353 取模后的结果。

格子配置的相同的定义如下:
将格子的配置对应为一个 N×NN \times N 的矩阵 AA。Ai,j (i,j=1,2,…,N)A_{i,j} \ (i,j=1,2,\dots,N) 的定义如下:

  • 若从左起第 ii 列从下往上第 jj 个格子中有方块,则其值为方块的颜色,否则为 00。

两次格子的配置相同,当且仅当它们对应的矩阵 AA 完全相同。

输入格式

输入以如下格式从标准输入读入。

NN M1M_1 C1,1C_{1,1} C1,2C_{1,2} …\dots C1,M1C_{1,M_1} M2M_2 C2,1C_{2,1} C2,2C_{2,2} …\dots C2,M2C_{2,M_2}
⋮\vdots
MNM_N CN,1C_{N,1} CN,2C_{N,2} …\dots CN,MNC_{N,M_N}

输出格式

输出操作次数的最小值,对 998244353998244353 取模后的结果。

输入输出样例

  • 输入#1

    2
    2 1 2
    1 3

    输出#1

    3
  • 输入#2

    2
    2 1 1
    1 1

    输出#2

    1
  • 输入#3

    3
    3 1 2 3
    1 4
    0

    输出#3

    6
  • 输入#4

    5
    5 1 2 3 4 5
    4 6 7 7 9
    3 10 7 12
    2 13 14
    0

    输出#4

    22

说明/提示

样例解释 1

通过操作,颜色的分布将如下变化。本例中,经过 33 次操作后,状态会回到最初的状态。

数据范围

  • 2≤N≤1052 \leq N \leq 10^5
  • 1≤∑i=1NMi≤1051 \leq \displaystyle \sum_{i=1}^N M_i \leq 10^5
  • N≥M1≥M2≥⋯≥MN≥0N \geq M_1 \geq M_2 \geq \dots \geq M_N \geq 0
  • 1≤Ci,j≤1051 \leq C_{i,j} \leq 10^5
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页