题解:P14171 【MX-X23-T1】丢手绢

· · 题解

用桶存储即可。

提示:先计算出丢手绢的地方。排序一下即可。

AC code:

#include<bits/stdc++.h>
using namespace std;
long long n,x,maxx,b[100010];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        int t=(i+x+n)%n;
        if(t==0) t=n;
        b[t]++;
        maxx=max(maxx,b[t]);
    }
    for(int i=1;i<=n;i++)
    {
        if(b[i]==maxx) cout<<i<<" ";
    }
}