#2983. [NOIP1997 普及组] 数字三角形

[NOIP1997 普及组] 数字三角形

题目描述

将1,2,······,9共9个数排成下列形态的三角形:

      a
    b   c
  d       e
f   g   h   i

其中:aaii分别表示1,2,...9中的一个数字,并要求同时满足下列条件:

  • a<f<ia<f<i
  • b<d,g<hc<eb<d, g<h,c<e
  • a+b+d+f=f+g+h+i=i+e+c+a=Pa+b+d+f=f+g+h+i=i+e+c+a=P

程序要求:根据输入的边长之和PP,输出所有满足上述条件的三角形的个数及其中的一种方案.

若有多种方案输出字典序最小的那种。若无解输出NONO

输入格式

一个数表示PP

输出格式

无解输出一行NONO,否则第一行是方案数,接下来是字典序最小的方案。每行的数之间用一个空格隔开。具体见样例。

样例

2
7
2 3
6 4
8 1 5 9
NO
23
2
7
2 3
6 4
8 1 5 9

样例解释

满足条件的有两种方案,方案如下:

方案一:

7
3 1
5 6
8 2 4 9

方案二:

7
2 3
6 4
8 1 5 9