Problem solving report POJ2769 reduced ID Numbers

Source: Internet
Author: User

Problem Solving report POJ2769 reduced ID Numbers
DescriptionT. Chur teaches various groups of students at university U. Every u-student has a unique student identification number (SIN). A SIN S is an integer in the range 0≤s≤maxsin with Maxsin = 10 6-1. T. Chur finds this range of SINs too large for identification within her groups. For each group, she wants to find the smallest positive integer m, such this within the group all SINs reduced modulo m ar E unique.

Input

On the first line of the input was a single positive integer N, telling the number of the test cases (groups) to follow. Each case starts with one line containing the integer G (1≤g≤300): The number of students in the group. The following G lines each contain one SIN. The SINs within a group is distinct, though not necessarily sorted.

Output

For each test case, the output one line containing the smallest modulus m, such this all SINs reduced modulo m is distinct.

Sample Input

211248663124866111111987651

Sample Output

18


Topic: Given some numbers not exceeding 1e6, let you find a minimum number of k, so that the number given is not any two number of K congruence.


Analysis: The idea of solving problems is a very simple experiment method. Try each number directly from 1 to see if there is any congruence, if you find the same remainder, break until a suitable number is found. But there is a problem in C + + on the time-out but on the g++ AC, do not know where the mystery, ask the big God to mention points.


On the code:

#include <iostream> #include <algorithm> #include <cmath> #include <map> #include <cstring >using namespace Std;const int maxn = 1e5+10;const int MAXM = 1e6 + 10;int stu[maxn];int m[maxn];int main () {int Kase;ci N >> kase;while (kase--) {//memset (mod, 0, sizeof mod), int n;cin >> n;for (int i = 1; I <= n; i++) cin >&G T  Stu[i];bool Flag;int i;for (i = 1; i++) {memset (m, 0, sizeof m); flag = true;for (int j = 1; J <= N; j + +) {if (M[stu[j]% I] = = 1) {flag = False;break;} ELSEM[STU[J]% i] = 1;} if (flag) break;} cout << i << Endl;} return 0;}

Well, the congruence equation begins.


Problem solving report POJ2769 reduced ID Numbers

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.