假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为 1,2,3,4,⋯的球。
每次只能在某根柱子的最上面放球。
在同一根柱子中,任何2个相邻球的编号之和为完全平方数。n根柱子上最多能放多少个球。
题解
- 每根柱子都可以看成一条路径
- 问题可以转化为1~ans的最小路径覆盖$\le$n
- 不断增加数字加边做增广路即可
- 输出方案:通过edges.flow是否满载判断递归输出即可
代码
1 |
|
Success and failure are temporary.
假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为 1,2,3,4,⋯的球。
每次只能在某根柱子的最上面放球。
在同一根柱子中,任何2个相邻球的编号之和为完全平方数。n根柱子上最多能放多少个球。
1 | #include<bits/stdc++.h> |