#P14818. [Bulgarian2016组队赛]superm
[Bulgarian2016组队赛]superm
题目描述
一个 的方阵称为魔方阵,如果它填入的是两两不同的正整数,并且每一行、每一列以及两条对角线上的数字之和都相等。这个共同的和称为魔法数。
类似地,若一个这样的 方阵中,每一行、每一列以及两条对角线上的数字之积都相等,则称它为超级魔方阵。这个共同的乘积称为超级魔法数。
原题给出了一个超级魔法数为 的超级魔方阵示例图。
请编写程序 superm,完成以下任务之一:
- 构造一个超级魔方阵,使其中心格子的数字等于给定的 ,并且超级魔法数尽可能小;
- 或判断这样的方阵不存在。
输入格式
输入一行,包含一个正整数 ,表示方阵中心格子中的数字。
输出格式
如果不存在解,输出一行:
NO
否则,输出三行,每行三个正整数,用空格分隔,表示一个满足条件的超级魔方阵。
要求:
- 九个数字必须两两不同;
- 第二行第二个数必须等于 ;
- 每一行、每一列以及两条对角线上的乘积都相等;
- 该共同乘积,即超级魔法数,必须是所有合法方案中最小的。
评分说明
测试点按两两成组打包。只有同一组内两个测试的输出都正确,并且在存在解时给出的超级魔法数为最小可能值,才会获得该组分数。
数据范围
- ;
- 在 的测试组中,;
- 在 的测试组中,。
样例
输入
42
输出
21 28 126
252 42 7
14 63 84
样例说明
上述方阵中,每一行、每一列以及两条对角线的乘积都为 。