Mn Zn求助构造题,UKE+WA 53pts

P3599 Koishi Loves Construction

65pts惹awa。 ``` c++ const int MAXN=1e5+10; int X,T,N; int pri[MAXN],Tot; bool is[MAXN]; inline int qPow(int a,int b,int p) { int res=1; while(b) { if(b&1) res=res*a%p; a=a*a%p;b>>=1; } return res; } inline void sieve(int n) { is[1]=1; for(int i=2;i<=n;++i) { if(!is[i]) pri[++Tot]=i; for(int j=1;i*pri[j]<=n&&j<=Tot;++j) { is[i*pri[j]]=1; if(i%pri[j]==0) break; } } } int main() { // freopen(".in","r",stdin); // freopen(".out","w",stdout); read(X,T); sieve(MAXN-10); while(T--) { read(N); if(N==1) { puts("2 1"); continue; } if(X==1) { if(N&1) puts("0"); else { write("2 "); for(int i=1;i<N;++i) write((i&1)?N-i+1:i-1,' '); write(N-1,'\n'); } } if(X==2) { if(N==4||!is[N]) { write("2 1 "); for(int i=2;i<N;++i) write(i*qPow(i-1,N-2,N)%N,' '); write(N,'\n'); } else puts("0"); } } return 0; } /* 2 1 11 */ ``` 加了个取模。
by Echoternity @ 2022-09-20 13:57:47


|