#J1030. 方块方块(加强版)

方块方块(加强版)

题目背景

本题和简单版的唯一区别在于数据范围不同

题目描述

给定一个 nnmm 列的数字矩阵 gg
如果当前一个点在第 ii 行第 jj 列,则这个点可以移动到与这个格子相邻(上下左右)且与这个格子上的数字相同的格子上。
现在对于矩阵的每个格子,请求出一个点若初始在这个格子上,能访问到多少个格子?

输入格式

第一行两个整数 n,mn,m
接下来 nn 行,每行 mm 个整数,表示该数字矩阵 gg

输出格式

输出 nn 行,每行 mm 个数字。
ii 行第 jj 列表示若一个点从第 ii 行第 jj 列这个格子出发,能访问到多少个格子。

输入输出样例 #1

输入 #1

3 4
1 1 2 2
1 1 1 2
3 3 1 2

输出 #1

6 6 4 4
6 6 6 4
2 2 6 4

说明/提示

对于所有测试点,满足:1n,m1000,1gi,j1091\le n,m\le 1000,1\le g_{i,j}\le 10^9