Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
27043 liuyile 【BJ】T2 C++ 运行超时 50 1000 MS 249292 KB 911 2024-02-29 20:03:10

Tests(10/20):


#include<bits/stdc++.h> #define int long long #define p1(x) ((x).first) #define p2(x) ((x).second) #pragma GCC optimize(3) using namespace std; bitset<10003000>p; vector<int>pfac[10000300]; inline int f(int p,int r){ if((p-1)%4==0){ if(!r)return 2*p-1; else return p-1; } if(!r)return 1; else return p+1; } vector<int>P; inline void init(){ p.set(); p[1]=0; for(int i=2;i<=1e7;i++) if(p[i]){ for(int j=2*i;j<=1e7;j+=i) p[j]=0; P.push_back(i); } } signed main(){ // freopen("rainbow.in","r",stdin); // freopen("rainbow.out","w",stdout); ios::sync_with_stdio(0); init(); int t; cin>>t; while(t--){ int n,r; cin>>n>>r; int res=1; for(int p:P){ if(p*p>n)break; if(n%p==0){ n/=p; res=res*f(p,r%p); } } if(n!=1)res=res*f(n,r%n); cout<<res<<endl;; } cout.flush(); return 0; }


测评信息: