#P16979. [SGU433] Japhshan and Ramshut

[SGU433] Japhshan and Ramshut

题目描述

有一个 N×MN\times M 的矩形区域,需要使用无限多个长条砖完全铺满。

可使用的砖共有 KK 种长度:

1×L1,1×L2,,1×LK1\times L_1,1\times L_2,\dots,1\times L_K

每块砖可以水平放置,也可以竖直放置。砖之间不能重叠,也不能留下空格。

请判断是否可以完成铺设。如果可以,输出一种铺法。

输入格式

第一行三个整数 N,M,KN,M,K,满足:

  • N,M1N,M\ge1
  • 2N+M202\le N+M\le20
  • 1K51\le K\le5

第二行包含 KK 个整数 L1,L2,,LKL_1,L_2,\dots,L_K

1Li10001\le L_i\le1000

输出格式

如果不能铺满,输出:

NO

如果可以,先输出:

YES

然后输出 NN 行、每行 MM 个小写英文字母表示铺法。

对于任意两个上下或左右相邻的格子:

  • 如果它们属于同一块砖,则字母必须相同;
  • 如果它们属于不同的砖,则字母必须不同。

因此,每个由相同字母形成的四连通块都应恰好对应一块 1×Li1\times L_iLi×1L_i\times1 的砖。

样例

5 5 2
3 4

一种合法输出为:

YES
aaaab
ccccb
adddb
acccc
abbbb

本题答案不唯一,题包使用 SPJ。