14014 - 魔术数字游戏
时间限制 : 1 秒
内存限制 : 128 MB
填数字方格的游戏有很多种变化,如下图所示的 4 \times 4 方格中,我们要选择从数字 1 到 16 来填满这十六个格子(Aij ,其中 i=1 \cdots 4 ,j=1 \cdots 4)。为了让游戏更有挑战性,我们要求下列六项中的每一项所指定的四个格子,其数字累加的和必须为 34 :
| A11 | A12 | A13 | A14 |
|---|---|---|---|
| A21 | A22 | A23 | A24 |
| A31 | A32 | A33 | A34 |
| A41 | A42 | A43 | A44 |
- 四个角落上的数字,即 A11+A14+A41+A44=34 。
- 每个角落上的 2 \times 2 方格中的数字,例如左上角 A11+A12+A21+A22=34 。
- 最中间的 2 \times 2 方格中的数字,即 A22+A23+A32+A33=34 。
- 每条水平线上四个格子中的数字,即 Ai1+Ai2+Ai3+Ai4=34,其中 i=1 \cdots 4 。
- 每条垂直线上四个格子中的数字,即 A1j+A2j+A3j+A4j=34,其中 j=1 \cdots 4 。
- 两条对角线上四个格子中的数字,例如左上角到右下角 A11+A22+A33+A44=34 。
- 右上角到左下角:A14+A23+A32+A41=34 。
特别的,我们会指定把数字 1 先固定在某一格内。 (注:所有字母后的数字都是下标,代表第几行和第几列)
输入
输入只有一行包含两个正数据 i 和 j ,表示第 i 行和第 j 列的格子放数字 1。剩下的十五个格子,请按照前述六项条件用数字 2 到 16 来填满。
输出
输出所有合法解,并且依序排好。相邻两组合法解之间用一个空行隔开。
对于每一组合法解,输出四行,每行四个数,相邻两数之间用一个空格隔开。
合法解排序的方式,是先从第一行的数字开始比较,每一行数字,由最左边的数字开始比,数字较小的解答必须先输出到文件中。
样例
输入
1 1
输出
1 4 13 16 14 15 2 3 8 5 12 9 11 10 7 6 1 4 13 16 14 15 2 3 12 9 8 5 7 6 11 10 ……剩余214组合法解省略
提示
对于全部的测试点,保证 1 \leq i, j \leq 4。