样例没过,却AC了
查看原帖
样例没过,却AC了
200044
JS_TZ_ZHR楼主2020/7/30 21:04

RT,样例在本地和洛谷IDE输出7,但提交AC

#include<bits/stdc++.h>
#define int long long
using namespace std;
int a,b,c,power,p,qp=1;
map<int,int>m;
signed main() {
	scanf("%lld%lld%lld",&c,&a,&b);
	a%=c,b%=c,power=b,p=sqrt(c)+1;
	if(b==1){
		puts("0");
		return 0;
	}
	for(int i=0; i<p; i++) {
		m[power]=i;
		power=(power*a)%c;
	}
	power=1;
	for(int i=1; i<=p; i++)qp=(qp*a)%c;
	for(int i=1; i<=p+1; i++) {
		power=(power*qp)%c;
		if(m[power]) {
			printf("%lld\n",i*p-m[power]);
			return 0;
		}
	}
	puts("no solution");
}
2020/7/30 21:04
加载中...