아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Лесопосадки

시간 제한2초메모리 제한512 MB

요약
직교 방향 이웃 나무가 정확히 1미터 더 크면 매년 1미터 자라는 규칙에서, 모든 성장이 멈출 때까지 걸린 햇수와 각 나무의 최종 높이를 구합니다.
난이도

보통10점 중 5점

유형
그래프, BFS, 시뮬레이션, 행렬
정답자
아직 제출이 없습니다

문제

Часто при вырубке леса для строительства, например, дорог проводятся компенсационные лесопосадки --- равное или большее число деревьев высаживается в другом месте. Однако посаженный таким образом лес отличается от самостоятельно выросшего --- при компенсационной посадке деревья обычно сажают в узлах регулярной решетки, что изменяет влияние деревьев друг на друга.

Павел занимается математическим моделированием роста деревьев, высаженных в узлах прямоугольной решетки. Будем считать, что в узлы решетки размером n×mn\times m высажены деревья. Два дерева считаются соседними, если узлы, в которых они растут, являются соседними по вертикали или по горизонтали. У каждого дерева есть своя высота, равная некоторому целому числу метров.

Павел считает, что высота деревьев изменяется с годами по следующему закону: 

  • если у дерева есть хотя бы один сосед, высота которого ровно на один метр больше высоты самого дерева, то через год высота дерева увеличится ровно на один метр;
  • если у дерева нет такого соседа, его высота через год останется прежней.

При моделировании роста деревьев по этим правилам рост всех деревьев остановится в тот момент, когда соседних деревьев с разницей в росте, равной одному метру, не останется. Павел хочет выяснить, сколько лет пройдет до этого момента и какая высота будет в этот момент у каждого дерева. 

Помогите ему, напишите программу, которая по заданным начальным высотам деревьев выяснит, через сколько лет рост всех деревьев остановится и какой будет высота каждого дерева в этот момент.

입력

В первой строке входного файла находятся два целых числа nn и mm --- размеры участка леса (1≤n,m≤1001 \le n, m \le 100). Следующие nn строк содержат по mm натуральных чисел, каждое из которых задает высоту соответствующего дерева. Высота каждого дерева не превышает 100100.

출력

В первой строке выходного файла выведите tt --- число лет, которое пройдет до того момента, когда все деревья перестанут расти. После этого выведите nn строк по mm чисел --- каждое число должно быть равно высоте соответствующего дерева через tt лет.

예제1

  1. 예제 1

    입력
    3 4
    1 1 1 2
    1 5 5 1
    3 1 1 1
    
    예상 출력
    9
    3 3 3 3
    3 5 5 3
    3 3 3 3