【西双版纳的孔雀舞】
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
【西双版纳的孔雀舞】
题目背景
在美丽的西双版纳,一年一度的孔雀舞选拔赛正在举行。来自各个村寨的 名舞者排成一排,每位舞者都有一个初始编号,从左往右依次为 。为了选出最优秀的“孔雀王”,评审团制定了一套独特的淘汰规则。
题目描述
选拔赛按轮次进行,每一轮都会淘汰掉当前队列中一半左右的舞者。具体规则如下:
- 第一轮:从左往右进行。淘汰掉当前序列中的第 个舞者,然后每隔一个舞者淘汰一个(即淘汰第 个舞者)。
- 第二轮:从右往左进行。淘汰掉当前序列中从右数起的第 个舞者,然后每隔一个舞者淘汰一个(即从右往左数,淘汰第 个舞者)。
- 第三轮:再次从左往右进行,淘汰规则同第一轮。
- 第四轮:再次从右往左进行,淘汰规则同第二轮。
如此往复,淘汰方向在“从左往右”和“从右往左”之间轮流切换。直到队列中只剩下最后一名舞者。这名舞者将获得“孔雀王”的称号。
给定舞者的总人数 ,请你计算出最终剩下的这名舞者的原始编号是多少。
输入格式
输入仅一行,包含一个正整数 。
输出格式
输出一个整数,表示最后剩下的那名舞者的原始编号。
输入输出样例
样例 1 输入:
9
样例 1 输出:
6
样例 2 输入:
100
样例 2 输出:
54
样例说明
对于样例 1 ():
- 第一轮(左 右):初始序列为 。淘汰第 个,剩下 。
- 第二轮(右 左):当前序列为 。从右往左数,第 个是 ,第 个是 。淘汰 ,剩下 。
- 第三轮(左 右):当前序列为 。从左往右数,第 个是 。淘汰 ,剩下 。
- 最终结果为 。
数据范围与提示
- 对于 的数据:。
- 对于 的数据:。
青创八小测2026.03.17
- Status
- Done
- Rule
- IOI
- Problem
- 3
- Start at
- 2026-3-17 16:00
- End at
- 2026-3-17 16:42
- Duration
- 0.7 hour(s)
- Host
- Partic.
- 26