洛谷P14171题解
分析
题意
一群小朋友围成一圈玩丢手绢游戏,每个小朋友都要把手绢放到某个位置。我们需要统计每个小朋友身后被放了多少次手绢(也就是人气值),最后找出人气最高的那些小朋友,按编号从小到大输出他们的号码。
位置计算:正数表示顺时针数几个位置,负数表示逆时针数几个位置, 就是自己身后。因为是围成一圈,所以需要处理好循环的情况。
思路
首先得搞清楚每个小朋友把手绢放到了谁身后。比如第 个小朋友,根据给出的 ,我们要算出具体是哪个编号的小朋友。
然后计算位置时,因为是圆圈,所以需要用取模运算来处理。不过要注意负数的情况,比如当计算结果为负数时,得调整成有效的正数编号。
再用一个数组来记录每个小朋友的人气值,每确定一个手绢的位置,就给对应位置的人气值加 。
最后找出人气值的最大值,然后把所有达到这个最大值的小朋友编号按顺序输出。
代码
1 | |
洛谷P14171题解
https://lijingshu2014.github.io/2025/10/06/洛谷P14171题解/