题解:P14171 【MX-X23-T1】丢手绢
解题思路
模拟。
把每位小朋友放手绢的位置统计一下,若有小朋友放在这个地方,则这个地方的计数器
最后,取
Code
#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;
}