您的位置:首页 > 理论基础 > 计算机网络

魔术球问题 二分图的最小路径覆盖+输出解

2014-09-15 19:01 211 查看
                                                                                                                              魔术球问题

                                                      时间限制: 1 s                                      空间限制: 128000 KB                                              题目等级 : 钻石 Diamond

题目描述 Descriptio

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

(1)每次只能在某根柱子的最上面放球。 

(2)在同一根柱子中,任何 2 个相邻球的编号之和为完全平方数。 

试设计一个算法,计算出在 n 根柱子上最多能放多少个球。例如,在 4 根柱子上最多可放 11 个球。 

对于给定的 n,计算在 n 根柱子上最多能放多少个球。

输入描述 Input Description

第 1 行有 1 个正整数 n,表示柱子数。

输出描述 Output Description

将 n 根柱子上最多能放的球数以及相应的放置方案输出

第一行是球数。接下来的 n 行,每行是一根柱子上的球的编号。

样例输入 Sample Input

4

样例输出 Sample Output

11

1 8 

2 7 9 

3 6 10 

4 5 11

数据范围及提示 Data Size & Hint

分析:如题,具体实现时,枚举答案A(可以放的最大的数),边跑最大流,边加边,比二分枚举答案快些吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络流