专栏文章

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

P14171题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minog9mw
此快照首次捕获于
2025/12/02 05:44
3 个月前
此快照最后确认于
2025/12/02 05:44
3 个月前
查看原文
最近和圈有关的问题好多。
因为 aia_i 很大,所以不可能挨个枚举。因为圈的特殊性质,将 aia_inn 取个模就得出在 nn 范围内的变化情况。注意,取完模后还要判断范围问题,要不然会 RE。

AC Code:

CPP
#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;
}
另:我认为题意中逆时针ai-a_i 个容易误导,可能是顺时针aia_i 个。

评论

0 条评论,欢迎与作者交流。

正在加载评论...