- 原题链接:Here!
- 思路:题目大意是找到一个最小的m使得G个SIN mod m后的值各不相同,暴力
- 代码:
#include<iostream> #include<cstring> using namespace std; int m,N,G,SIN[310]; bool mark[100001]; int main(){ cin>>N; while(N--){ cin>>G; for(int i=0;i<G;i++) cin>>SIN[i]; bool find; int ans = 0; for(int i=1;;i++){ find = true; memset(mark,0,sizeof(mark)); for(int j=0;j<G;j++){ if(mark[ SIN[j]%i ]==1){ find = false; break; } mark[ SIN[j]%i ] = 1; } if(find){ ans = i; break; } } cout<<ans<<endl; } return 0; }
PKU 2769 Reduced ID Numbers(简单数论)
最新推荐文章于 2018-02-18 19:33:38 发布