#luoguP7975. 「Stoi2033」分裂
「Stoi2033」分裂
Cannot parse: (0 , import_utils.normalizeSubtasks) is not a function or its return value is not iterable
题目背景
趁时间没发觉 让我带着你离开
没有了证明 没有了空虚
基于两种立场我会罩着你
趁时间没发觉 让我带着你离开
这不是顽固 这不是逃避
没人绑着你走才快乐
——《分裂》
题目描述
有一个 的棋盒(四周为棋盒壁)与黑、红各 颗棋。棋子有若干种类,红色的一种棋子个数和黑色的该种棋子个数相等。棋子种类用特征值 标记。特征值相同的棋子种类相同,特征值不同的棋子种类不同。红色棋子摆放在棋盒的下层,已经摆好。现在 Vinsta 要将黑棋按照规定顺序摆放在棋盒上层。设棋盒内坐标以左上角为 ,右下角为 ,依此第 行第 列为 ,则每颗摆进去的黑棋必须摆在满足以下要求的位置:
-
其摆放位置没有黑棋子且下方为与其种类相同的红棋;
-
在 1. 的要求下,若有多个,令一个位置的 紧密度 为其四边有黑棋子相邻或为棋盒壁的个数,则选择 紧密度 最大的一个;
-
在 2. 的要求下,若还有多个,则设此位置的坐标为 ,要求 最小;
-
在 3. 的要求下,若还有多个,要求 最小。
给出红棋的摆放情况和黑棋放入的顺序,她想请你帮忙求出每个位置的黑棋子被放入的顺序。
输入格式
第一行两个整数 。
接下来 行 列,第 行第 列表示 。
接下来一行 个整数,表示按顺序每次放入的棋子的种类。
输出格式
输出 行 列,每个位置上的数 表示 上的棋是第 个被放进去的。
3 3
1 1 1
1 1 1
1 1 1
1 1 1 1 1 1 1 1 1
1 2 3
4 6 7
5 8 9
3 3
1 2 3
2 2 1
3 1 3
1 3 3 2 1 2 2 3 1
1 4 2
6 7 5
3 9 8
10 10
4 9 3 9 3 6 4 8 7 7
7 5 3 8 7 10 10 8 7 10
10 9 3 10 3 3 3 2 3 8
9 6 3 1 10 10 3 4 2 6
10 5 9 9 5 7 7 6 2 7
1 1 6 3 2 10 10 7 6 7
1 7 10 7 3 10 3 9 10 9
1 5 1 2 2 4 4 9 10 8
6 3 7 1 5 8 10 4 10 7
5 4 8 3 3 9 2 6 8 2
6 6 6 1 10 8 5 5 4 2 1 5 5 9 4 3 4 6 3 5 9 7 4 8 9 3 5 9 1 7 4 1 1 2 2 6 7 10 6 2 6 6 1 8 4 7 7 10 3 1 9 8 10 9 4 7 9 10 2 3 3 3 2 7 2 9 7 7 3 8 8 9 3 2 10 9 10 7 8 10 8 3 7 7 3 3 7 3 7 3 3 10 3 10 10 10 10 10 10 10
9 14 16 28 49 1 15 24 37 46
22 12 26 79 84 94 92 70 56 53
5 21 61 80 85 93 91 63 62 6
25 18 60 50 58 95 90 23 34 3
38 13 51 54 20 87 89 39 59 64
29 32 36 69 74 97 96 78 42 67
11 30 48 68 86 98 88 76 77 72
4 8 33 40 35 31 45 57 99 81
2 19 47 43 27 71 75 55 100 83
7 17 52 73 82 66 65 41 44 10
提示
对于 的数据,;
对于另外 的数据,;
对于 的数据,,保证每种棋子黑色与红色数量相等。