#P10257. [COCI 2023/2024 #5] Zlagalica

[COCI 2023/2024 #5] Zlagalica

题目背景

译自 COCI 2023/2024 Contest #5 T1「Zlagalica

题目描述

Little Maja 喜欢拼图。既然大家都已经认识她很久了,那么一定不会对 Maja 在一个晴朗的日子里,收到一份奇怪的拼图作为礼物感到惊讶。

这个拼图由 nn 片组成。每片拼图的形状都是矩形,并具有一定的颜色。同时,每片拼图的背面都写着 uudd 两个数字。在精心尝试了一段时间后,Maja 发现了这些数字的含义。

她发现数字 uu 表示方向,换句话说,描述了下一块拼图从上侧还是从右侧连接这一块拼图。数字 dd 表示下一块拼图连接这一块拼图的起点行/列。更具体地:

  • 如果 u=0u=0,我们通过将下一块拼图左下角放在当前拼图上边的第 dd 列,将下一块拼图拼接在当前拼图的上方。

  • 如果 u=1u=1,我们通过将下一块拼图左下角放在当前拼图右边的第 dd 行,将下一块拼图拼接在当前拼图的右边。

假设有颜色分别为 ab 的两块拼图。图一展示了 u=0,d=3u=0,d=3 时的拼接情况;图二展示了 u=1,d=3u=1,d=3 时的拼接情况(这里的 u,du,d 均写在颜色为 a 的拼图上)

图一 图二

Maja 已经厌烦了这个拼图,但是她的好奇心是无限的。这正是她寻求你帮助的原因。她想知道,给出全部的拼图信息,以及拼装它们的顺序序列,最终拼图是什么样的?编写程序输出一个长方形字符矩阵,恰好包含最终拼图的样子,用 . 表示这里没有拼图。

输入格式

输入的第一行包含一个整数 nn1n201 \le n \le 20),表示拼图的数目。

接下来 nn 行,第 ii 行包含一个字符和四个整数 bi,ri,si,ui,dib_i,r_i,s_i,u_i,d_i,描述了第 ii 块拼图:

  • bib_i 是一个小写英文字母,表示第 ii 块拼图的颜色。
  • ri,sir_i,s_i1ri,si101 \le r_i,s_i \le 10)依次表示第 ii 块拼图行与列的长度。
  • ui,diu_i,d_i0ui10 \le u_i \le 11diri,si1 \le d_i \le r_i,s_i(与 uiu_i 有关))表示第 ii 块拼图背面的数字,含义如题所述。

最后一行包含 nn 个整数,表示拼图拼接的顺序。其中数字 ii 表示第 ii 块输入的拼图。保证每块拼图在序列中出现且仅出现一次。

输出格式

第一行输出完成的拼图的高度与宽度。

接下来若干行,输出拼图,不属于拼图的位置用 . 替代。

2
a 3 4 0 3
b 2 5 1 1
1 2
5 7
..bbbbb
..bbbbb
aaaa...
aaaa...
aaaa...
2
a 3 4 0 3
b 2 5 1 1
2 1
4 9
.....aaaa
.....aaaa
bbbbbaaaa
bbbbb....
4
g 9 5 0 2
a 3 2 1 1
c 5 10 0 2
p 8 7 1 6
4 3 2 1
18 17
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
........aaggggg..
........aa.......
ppppppp.aa.......
pppppppcccccccccc
pppppppcccccccccc
pppppppcccccccccc
pppppppcccccccccc
pppppppcccccccccc
ppppppp..........
ppppppp..........

提示

子任务

Subtask Points Constraints
1 17 拼图拼接的顺序与输入相同
2 12 对于所有拼图,u=0u=0
3 对于所有拼图,u=1u=1
4 9 无额外限制