专栏文章
题解:P14171 【MX-X23-T1】丢手绢
P14171题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minohqbh
- 此快照首次捕获于
- 2025/12/02 05:45 3 个月前
- 此快照最后确认于
- 2025/12/02 05:45 3 个月前
解题思路
模拟。
把每位小朋友放手绢的位置统计一下,若有小朋友放在这个地方,则这个地方的计数器 。
最后,取 的最大值,即 。再遍历 ,如果 ,则当前小朋友的人气值最高,输出这个 。
Code
CPP#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[1000010];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,maxn=0;
cin>>n;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
maxn=max(maxn,(++a[(i+x-1+n+n)%n+1]));
// 注:i+x 为要放的位置,+n+n 为防止负数,(...-1)%n+1 为防止超过 n。
}
for(int i=1;i<=n;i++)
if(a[i]==maxn)cout<<i<<' ';
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...