TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P2038
  • 题目
  • P2038【线性规划与网络流24题 4】魔术球(带SPJ)
    限制 : 时间限制 : 10000 MS   空间限制 : 65536 KB  SPJ
    评测说明 : 1s,64MB,SPJ
    问题描述

    假设有$n$根柱子,现要按下述规则在这$n$根柱子中依次放入编号为 $1,2,3,\dots$的球。

    1. 每次只能在某根柱子的最上面放球。
    2. 在同一根柱子中,任何两个相邻球的编号之和为完全平方数。

    试设计一个算法,计算出在$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