#1038. [USACO ] The Primes 素数方阵

[USACO ] The Primes 素数方阵

题目描述

在下面的方格中,每行,每列,以及两条对角线上的数字可以看作是五位的素数.方格中的行按照从左到右的顺序组成一个素数,而列按照从上到下的顺序.两条对角线也是按照从左到右的顺序来组成.

+---+---+---+---+---+ 
| 1 | 1 | 3 | 5 | 1 | 
+---+---+---+---+---+ 
| 3 | 3 | 2 | 0 | 3 | 
+---+---+---+---+---+ 
| 3 | 0 | 3 | 2 | 3 | 
+---+---+---+---+---+ 
| 1 | 4 | 0 | 3 | 3 | 
+---+---+---+---+---+ 
| 3 | 3 | 3 | 1 | 1 | 
+---+---+---+---+---+

这些素数各个数位上的和必须相等. 左上角的数字是预先定好的. 一个素数可能在方阵中重复多次. 如果不只有一个解,将它们全部输出(按照这 25 个数字组成的 25 位数的大小排序). 一个五位的素数开头不能为 0(例如:00003 不是五位素数)

输入格式

一行包括两个被空格分开的整数:各个位的数字和 和左上角的数字.

输出格式

对于每一个找到的方案输出 5 行,每行 5 个字符, 每行可以转化为一个 5 位的质数.在两组方案中间输出一个空行. 如果没有解就单独输出一行"NONE".

样例

11 1
上面的例子有三组解.
11351 
14033 
30323 
53201 
13313 

11351 
33203 
30323 
14033 
33311 

13313 
13043 
32303 
50231 
13331