题解:P14171 【MX-X23-T1】丢手绢
a_gold_TomAndJerry · · 题解
最近和圈有关的问题好多。
因为
AC Code:
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int n,a[maxn];
int main(){
memset(a,0,sizeof(a));
scanf("%d",&n);
for(int i=1;i<=n;++i){
int k,u,l;
scanf("%d",&k);
if(k==0) a[i]++;
else if(k>0){
u=k%n;
l=i+u;
if(l>n) l=l-n;
a[l]++;
}else{
u=(k%n);
l=i+u;
if(l<1) l=n+l;
a[l]++;
}
}
int maxp=0;
for(int i=1;i<=n;++i) maxp=max(maxp,a[i]);
for(int i=1;i<=n;++i){
if(a[i]==maxp) cout<<i<<" ";
}
return 0;
}
另:我认为题意中逆时针数