1490 拼图
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
32M
Problem types
Allowed languages
C, C++, Java, Python
Description
潘帕斯草原最近流行起了一种拼图游戏。
这个拼图游戏要求将一些图形拼成一个正方形,图形的个数从 1 到 5 。如下图所示,图形个数是4。
图形不能旋转,拼的时候不能重叠,拼完后的正方形里面不能有空隙。所有给定的图形都要使用。
左面的图表示这样拼不行,右面是一个成功的拼法。
Input
有多组数据,执行到文件结束。 每组数据的第一行是一个整数 n ,表示图形的个数,范围从 1 到 5 。 接下来有 n 个部分,每个部分的第一行是 2 个整数 i 和 j ,表示下面的 i 行 j 列用来描述一个图形。图形用 0 和 1 表示,1 表示图形占有这个位置,0 表示不占有,中间没有空格。 所有图形的长与宽都不超过 5 。 根据图形给出的顺序给每个图形编号,从 1 开始,至多到 5 。 保证数据无多解情况。
Output
对于每组数据,如果不能拼成一个正方形,就输出 "No solution possible" ;否则,输出一种拼图方案:一个正方形的数阵,每个位置上的数字是占有这个位置的图形的编号,中间没有空格。每组数据间空出一行。
Sample
Input
4
1 4
1111
1 4
1111
1 4
1111
2 3
111
001
5
2 2
11
11
2 3
111
100
3 2
11
01
01
1 3
111
1 1
1
Output
No solution possible
1133
1153
2223
2444
Comments