[Swerc2010]Fakes coreboard
有 支队伍参加比赛,共有 道题。已知每支队伍通过的题目数,以及每道题被通过的次数。请判断是否存在满足这些条件的通过情况。
如果存在,则输出字典序最小的方案;否则输出 Impossible。
输入格式
输入包含多组测试数据。
每组测试数据的第一行包含两个整数 和 ,分别表示队伍数和题目数。
第二行包含 个整数 ,其中 表示第 支队伍通过的题目数。这些整数可以相同。
第三行包含 个整数 ,其中 表示第 道题被多少支队伍通过。这些整数可以相同。
当读入 时,输入结束。
输出格式
对于每组测试数据,如果不存在满足条件的方案,输出一行 Impossible。
否则,输出 行,每行包含 个字符。第 行的第 个字符为 Y,表示第 支队伍通过了第 道题;为 N,表示该队伍没有通过这道题。各行按照队伍的输入顺序排列,各列按照题目的输入顺序排列。
在所有满足条件的矩阵中,将这 行按照行主序拼接成一个字符串,并输出字典序最小的方案。字符的字典序规定为 N 小于 Y。
相邻两组测试数据的输出之间恰好空一行。
样例输入
2 2
1 2
1 1
3 3
2 1 2
1 2 2
3 5
3 3 1
3 1 1 0 2
0 0
样例输出
Impossible
NYY
NNY
YYN
YNYNY
YYNNY
YNNNN
数据范围
- ;
- ;
- 。
来源与许可
本题为 SWERC 2010 试题「Fakes coreboard」,题面与测试数据整理自 BZOJ。
样例 1
输入
2 2
1 2
1 1
3 3
2 1 2
1 2 2
3 5
3 3 1
3 1 1 0 2
0 0
输出
Impossible
NYY
NNY
YYN
YNYNY
YYNNY
YNNNN