您的位置:首页 > 其它

POJ 2769 Reduced ID Numbers (同余定理)

2013-02-22 00:56 393 查看
/*应用同余定理模拟就好,让m从小到大递增注意验证是否满足条件即可。因为求的是同余所以bool数组可以比数据范围小10^(-1)倍。。。否则会超时。。。*/

Source Code

Problem: 2769User: imutzcy
Memory: 280KTime: 454MS
Language: C++Result: Accepted
Source Code
#include<functional>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<numeric>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<cmath>
#include<ctime>
#include<list>
#include<set>
#include<map>

using namespace std;

const int MAXN=1000010;

int a[MAXN];

bool f[100010];

int T,m,i,j,k,n;

bool flag;

int main()
{
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(m=1;;m++){
flag=true;
memset(f,false,sizeof(f));
for(j=1;j<=n;j++){
if(f[a[j]%m]){
flag=false;
break;
}
f[a[j]%m]=true;
}
if(flag) break;
}
printf("%d\n",m);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: