约瑟夫问题[5]

测试数据来自 system/2330

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【问题描述】

  有 \(k\) 个坏人 \(k\) 个好人坐成一圈,前 \(k\) 个为好人(编号 \(1..k\)),后 \(k\) 个为坏人(编号 \(k+1..2k\)), 现在有一个报数 \(m\),从编号为 1 的人开始报数,报到 \(m\) 的人就要自动死去。 问当 \(m\) 为什么值时,可以使得在出现好人死亡之前,\(k\) 个坏人先全部死掉?

【输入格式】

  包含若组测试数据,每组数据占一行一个整数 \(k\),表示有 \(k\) 个好人和 \(k\) 个坏人。最后一为 0 表示测试数据结束。

【输出格式】

  每组测试数据输出一行,表示最小的 \(m\)。

【输入输出样例】

 Input

3
4
0

 Output

5
30

【数据说明】

  对于 \(100\%\) 的数据 \(0 < k < 14\),最多不超过20万组测试数据。

【来源】

  Mr.he

变长数组与双端队列练习题

未认领
状态
已结束
题目
8
开始时间
2024-03-08 00:00
截止时间
2024-04-06 23:59
可延期
24.0 小时