古老的罗马军队在世界范围内非常有名。在这些阵型中,罗马军团以几何形状(通常是矩形)分组,使用盾牌保护侧翼及其上半部分。内部位置的军团士兵将上盾放置在头顶上方,侧面的军团士兵携带2个或多个盾牌:一个用于保护上半部分,一个或多个盾牌用于保护侧面(如果有人在角落里)他有3个盾牌,如果有人一个人有5个盾牌,是的,我知道一个人不可能带5个盾牌,但是他们以某种方式做到了。利用这一阵型,所有罗马军团保护自己,并成为当时最坚强的对手。
历史告诉我们,有一位罗马将军说,最好的编队形状是正方形(行和列的军团人数相同)。问题在于弄清楚他应该分裂多少个编队(和规模),以便:
- 不要将任何军团排除在编队之外(尽管他承认只有一个军团编队)
- 减少所需的防护罩数量
这位将军在做一些数学和计算后,得出完成这两个条件的最佳方法是从可能的最大平方开始,然后重复直到没有军团成员离开为止。
例:
如果他的军队中有35个军团,
- 一个5x5的军团正方形(这是可能的最大正方形)。
与其余军团一起(10)
- 3x3正方形
与其余军团一起(1)
- 1x1正方形。
最后,它看起来像这样:
5x5
* * * * * 3x3
* * * * * * * * 1x1
* * * * * * * * *
* * * * * * * *
* * * * *
处于内部位置的军团覆盖了上半身,将盾牌放在头顶上方。他们只需要1盾。
* * * * *
* 1 1 1 * * * *
* 1 1 1 * * 1 * *
* 1 1 1 * * * *
* * * * *
侧翼的军团携带2
* 2 2 2 *
2 1 1 1 2 * 2 *
2 1 1 1 2 2 1 2 *
2 1 1 1 2 * 2 *
* 2 2 2 *
如果有人在角落里,他有3个盾牌
3 2 2 2 3
2 1 1 1 2 3 2 3
2 1 1 1 2 2 1 2 *
2 1 1 1 2 3 2 3
3 2 2 2 3
如果有人独自在编队中,他有5个盾牌
3 2 2 2 3
2 1 1 1 2 3 2 3
2 1 1 1 2 2 1 2 5
2 1 1 1 2 3 2 3
3 2 2 2 3
这种编队总共需要71个盾牌。
挑战
- 计算X军团所需的盾牌数量
输入项
- 军队中的军团人数
输出量
- 所需的防护罩数量。
测试用例
35 => 71
20 => 44
10 => 26
32 => 72
- 适用标准代码高尔夫球规则
Amazon.com : Best-selling Nipple Shield Carrying Case, Perfect...
所以我想我永远不会真正知道。他们实际上携带5个盾牌吗?或者这是使问题起作用的原因:P?