Reduced ID Numbers(poj2769同余定理)

来源:互联网 发布:怎么在淘宝客买东西 编辑:程序博客网 时间:2024/05/05 19:58

题意:给你一组n个数,找到最小的正整数m,是的当前组内的所有树对m取模均不同余

思路:对当前组枚举除数

1.想要都不相同,枚举是从n开始枚举不是从1开始,鸽巢原理小于n个必有相同的

2.memset初始化的时候,用多少初始化多少,memset(a,0,sizeof(int)*(n+1)),直接sizeof(a)会超时

#include<cstdio>#include<cstring>#include<iostream>#include<cmath>using namespace std;int G[50000];int n;bool IsTong(int m){    bool flag[1000005];    memset(flag,false,sizeof(bool)*(m+1));    for(int i = 0; i < n; i++)    {        if(!flag[G[i] % m])            flag[G[i] % m] = 1;        else            return false;    }    return true;}int main(){    int t;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(int i = 0; i < n; i++)        {            scanf("%d",&G[i]);        }        for(int i = n;;i++)        {           if(IsTong(i))           {               printf("%d\n",i);break;           }        }    }    return 0;}


原创粉丝点击