P2038【线性规划与网络流24题 4】魔术球(带SPJ) | ||
|
问题描述
假设有$n$根柱子,现要按下述规则在这$n$根柱子中依次放入编号为 $1,2,3,\dots$的球。
- 每次只能在某根柱子的最上面放球。
- 在同一根柱子中,任何两个相邻球的编号之和为完全平方数。
试设计一个算法,计算出在$n$根柱子上最多能放多少个球。例如,在$4$根柱子上最多可放$11$个球。
编程任务: 对于给定的$n$,计算在$n$根柱子上最多能放多少个球,并给出一种方案。
输入格式
第1行有1个正整数$n$,表示柱子数。\((1\leq n\leq 1000)\)。
输出格式
第一行输出一个放入的最大的球的编号。
然后输出$n$行,每行表示一根柱子从小到大依次放的球,每行以数字0结尾!
样例输入
4
样例输出
11
1 8 0
2 7 9 0
3 6 10 0
4 5 11 0