问题 2158 --素数方阵

2158: 素数方阵★★★★★

时间限制: 2 Sec  内存限制: 128 MB
提交: 5  解决: 3
[提交][状态][命题人:]

题目描述

素数方阵是一个 5×55\times 55×5 的方阵,每行、每列、两条对角线上的数字可以看作是五位的素数。方格中的行按照从左到右的顺序组成一个素数,而列按照从上到下的顺序。两条对角线也是按照从左到右的顺序来组成。这些素数每一位上的数之和必须相等。 左上角的数字是预先定好的。 一个素数可能在方阵中重复多次。不计含有前导 000 的五位素数,如 000030000300003 不是五位素数。

给出每一位上的数之和,以及左上角的数字,请输出方阵所有可能的填数方案。
如果不只有一个解,将它们全部输出(按照这 252525 个数字组成的 252525 位数的大小排序)。

输入

一行,包括两个被空格分开的整数:每一位上的数之和,以及左上角的数字。

输出

对于每一个找到的方案输出 5 行,每行 5 个字符,每行可以转化为一个 5 位的质数。在两组方案中间输出一个空行。如果没有解就单独输出一行 NONE
样例输入
Copy
11 1
样例输出
Copy
11351
14033
30323
53201
13313

11351
33203
30323
14033
33311

13313
13043
32303
50231
13331

提示

来源

 

[提交][状态]