这题如果用 BSGS 的话储存那边如果用 Hash 要怎么写啊,我总是 WA0
void solve(){
int p=read(),a=read(),b=read(),mi=a;
int kc=sqrt(p);if(kc*kc!=p) kc++;
for(int i=1;i<=kc;i++,i<=kc?(mi*=a)%=p:0) Hash[Get_Hash(mi*b%p)]=i;
for(int i=1,A=mi;i<=kc;i++,(A*=mi)%=p){
int get=Hash[Get_Hash(A)];
if(get) return (void)(printf("%lld\n",i*kc-get));
}
printf("no solution\n");
}