P16532 [THUPC 2026 决赛] 论文审稿
题目背景
来自 2026 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2026)决赛。
题解等资源可在 https://github.com/dapingguo8/THUPC2026-final 查看。
> 诸多趣味项目告一段落,会场迎来了中场休息的茶话会。众人闲谈间聊起了科研的艰辛与论文投稿的不易:小 T 感慨自己每次投稿后都会不断撤回重投、反复打磨论文;而作为审稿人的小 S 则表示,自己审阅时必然会严格把关,尽可能筛除手上的稿件。
>
> 根据这番交流,小 T 和小 S 突发奇想:如果遇到一位极其苛刻的审稿人,论文的发表之路会演变成什么样?于是,他们顺势提出了一个博弈模型。在这个模型中,双方将分别扮演投稿人与审稿人,围绕一个漫长的审稿队列展开博弈。队列中混杂着大量他人的稿件,其中仅有一篇是投稿人投出的。投稿人希望让自己的这篇论文在队列中反复循环打磨,以尽可能提升其最终发表时的学术分值;而审稿人则会严苛地筛查,寻找机会直接毙掉这篇论文,让投稿人颗粒无收。
题目描述
审稿队列由 $n$ 篇论文组成,其中第 $m$ 篇是投稿人投出的论文。初始时,该篇论文的学术分值为 $1$。
博弈由**投稿人**率先行动,之后双方轮流进行。每次行动的一方需要依次执行以下操作:
1. 从审稿队列首部依次取出 $k$ 篇论文。若队列中剩余论文不足 $k$ 篇,则将它们全部取出。
2. 在这批取出的论文中,选择将其中的 $0$ 或 $1$ 篇论文发表或者永久拒稿,即将其彻底移除。
3. 将**所有**未被移除的论文以**任意**顺序重新插入审稿队列末尾。由于审稿队列全程公开,双方均能准确知晓重新插入后每篇论文的新位置。
投稿人的最终得分将由他投出的论文的结果决定:
- 每次行动中,若该篇论文未被移除且被重新插入审稿队列末尾,其学术分值将会增加 $1$;
- 若**投稿人**在某次操作中主动移除了该篇论文,则该篇论文成功发表,博弈立即结束,投稿人获得此时的学术分值;
- 若**审稿人**在某次操作中移除了该篇论文,则该篇论文被永久拒稿,博弈立即结束,投稿人获得 $0$ 分。
投稿人的目标自然是最大化得分,而审稿人的目标是最小化投稿人的得分。
小 T 和小 S 目睹了你在前一场对弈游戏中的优异表现,于是邀请你来分析这个有趣的博弈模型。你需要计算出,当投稿人与审稿人均采取最优策略时,投稿人的最终得分。要是你能帮他们算出结果,说不定他们会乐意亲自帮你修改论文哦!
输入格式
每个测试点中包含多组测试数据。输入的第一行包含一个正整数 $T \ (1 \le T \le 50)$,表示数据组数。对于每组测试数据:
- 第一行包含三个正整数 $n, k, m \ (1 \le n, k \le 10 ^ 9, \ 1 \le m \le n)$,分别表示审稿队列的长度、每次取出的论文数量,与初始时投稿人投出的论文所处的位置。
输出格式
对于每组测试数据,输出一行一个整数,表示投稿人的最终得分。特别地,如果博弈不会结束,则输出 $-1$。