#B1359. 悬线

悬线

【题目描述】

给定一个 n×mn\times m 的 01 矩阵。

对于每个格子 (i,j)(i,j),从该格开始沿同一列向上看,连续经过的、与 ai,ja_{i,j} 元素种类相同的格子数量称为该格的悬线长度。

请输出每个格子的悬线长度。


【输入描述】

第一行输入两个整数 n,mn,m。

接下来 nn 行输入矩阵。

保证:

  • 1≤n,m≤20001\le n,m\le 2000;
  • ai,j∈{0,1}a_{i,j}\in\{0,1\}。

【输出描述】

输出 nn 行,每行 mm 个整数,表示每个格子的悬线长度。


【样例 1】

【样例 1 输入】

4 4
0 0 1 1
0 1 1 1
1 1 0 1
1 0 0 0

【样例 1 输出】

1 1 1 1
2 1 2 2
1 2 1 3
2 1 2 1

【样例 1 解释】

例如第 33 行第 44 列为 11,向上同列依次还有两个 11,所以悬线长度为 33。


【样例 2】

【样例 2 输入】

1 5
1 0 1 0 1

【样例 2 输出】

1 1 1 1 1

【数据规模与约定】

测试点编号 分数 特殊性质
1 ~ 3 30 n,m≤100n,m\le 100
4 ~ 10 70 n,m≤2000n,m\le 2000