#P13592. [NWRRC 2023] Loops

    ID: 15455 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>平衡树2023Special Judge排序构造ICPCAd-hocNWRRC

[NWRRC 2023] Loops

题目描述

Consider four integers AA, BB, CC, and DD, such that A<B<C<DA < B < C < D. Let's put them in the corners of a square in some order and draw a loop ABCDAA - B - C - D - A. Depending on the arrangement of the integers, we can get different loop shapes, but some arrangements produce the same shape:

There are three possible loop shapes we can get:

Now consider an n×mn\times m matrix filled with distinct integers from 11 to nmnm, inclusive. Each 2×22\times 2 square in this matrix can be seen as a square with integers in its corners. Let's build a loop for each of these squares like we did before:

Your task is to perform the inverse operation. You are given the shape types for all (n1)(m1)(n-1)(m-1) loops, and you need to build an n×mn\times m matrix filled with distinct integers from 11 to nmnm, inclusive, that produces these shapes.

输入格式

The first line contains two integers nn and mm (2n,m5002\le n, m\le 500).

Each of the next n1n-1 lines contains a string of m1m-1 characters without spaces. Each character is a digit from 11 to 33, denoting the type of the shape of the corresponding loop.

输出格式

Print an n×mn\times m matrix filled with distinct integers from 11 to nmnm, inclusive, that produces the shapes of the loops in the input.

It can be shown that such a matrix always exists. If there are multiple answers, print any of them.

3 4
113
231
9 11 7 12
4 6 1 8
2 10 5 3