Codeforces Round #FF (Div. 2/A)/Codeforces447A_DZY Loves Hash(哈希)
2014-07-14 17:08
417 查看
A. DZY Loves Hash
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
DZY has a hash table with p buckets, numbered from 0 to p - 1.
He wants to insert n numbers, in the order they are given, into the hash table. For the i-th
number xi, DZY
will put it into the bucket numbered h(xi),
where h(x) is the hash function. In this problem we will assume, that h(x) = x mod p.
Operation a mod b denotes taking a remainder after division a by b.
However, each bucket can contain no more than one element. If DZY wants to insert an number into a bucket which is already filled, we say a "conflict" happens. Suppose the first conflict happens right after the i-th
insertion, you should output i. If no conflict happens, just output -1.
Input
The first line contains two integers, p and n (2 ≤ p, n ≤ 300).
Then n lines follow. The i-th of them contains an
integer xi (0 ≤ xi ≤ 109).
Output
Output a single integer — the answer to the problem.
Sample test(s)
input
output
input
output
解题报告
水,好像写麻烦了。
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
DZY has a hash table with p buckets, numbered from 0 to p - 1.
He wants to insert n numbers, in the order they are given, into the hash table. For the i-th
number xi, DZY
will put it into the bucket numbered h(xi),
where h(x) is the hash function. In this problem we will assume, that h(x) = x mod p.
Operation a mod b denotes taking a remainder after division a by b.
However, each bucket can contain no more than one element. If DZY wants to insert an number into a bucket which is already filled, we say a "conflict" happens. Suppose the first conflict happens right after the i-th
insertion, you should output i. If no conflict happens, just output -1.
Input
The first line contains two integers, p and n (2 ≤ p, n ≤ 300).
Then n lines follow. The i-th of them contains an
integer xi (0 ≤ xi ≤ 109).
Output
Output a single integer — the answer to the problem.
Sample test(s)
input
10 5 0 21 53 41 53
output
4
input
5 5
0
1
2
3
4
output
-1
解题报告
水,好像写麻烦了。
#include <iostream> #include <cstdio> #include <cstring> #include <vector> using namespace std; int p,n,i,num[1000],j; vector<int>hashh[1000]; int main() { while(cin>>p>>n) { memset(hashh,0,sizeof(hashh)); for(i=0;i<n;i++) { cin>>num[i]; } for(i=0;i<n;i++) { int sz=hashh[num[i]%p].size(); if(sz) {cout<<i+1<<endl; break;} else hashh[num[i]%p].push_back(num[i]); } if(i==n)cout<<"-1"<<endl; } return 0; }
相关文章推荐
- Codeforces Round #FF (Div. 2) 447A - DZY Loves Hash(模拟)
- Codeforces Round #FF (Div. 2):Problem A - DZY Loves Hash
- Codeforces Round #FF (Div. 2)A. DZY Loves Hash
- Codeforces Round #FF (Div. 2):Problem A - DZY Loves Hash
- Codeforces Round #FF (Div. 2) Problem A DZY Loves Hash
- Codeforces Round #FF (Div. 2)A. DZY Loves Hash
- Codeforces Round #FF (Div. 2) A. DZY Loves Hash
- DP Codeforces Round #FF (Div. 1) A. DZY Loves Sequences
- Codeforces Round #FF (Div. 2)-C. DZY Loves Sequences
- Codeforces Round #FF (Div. 2) A.DYZ Loves Hash
- Codeforces Round #FF (Div. 1) C. DZY Loves Fibonacci Numbers
- Codeforces Round #FF (Div. 二):C. DZY Loves Sequences
- Codeforces Round #FF (Div. 2)-C. DZY Loves Sequences
- Codeforces Round #FF (Div. 2)C. DZY Loves Sequences
- Codeforces Round #FF (Div. 2) C. DZY Loves Sequences
- Codeforces Round #FF (Div. 1) A. DZY Loves Sequences 动态规划
- Codeforces Round #FF (Div. 2)B. DZY Loves Strings
- Codeforces Round #FF (Div. 2) E.DZY Loves Fibonacci Numbers
- Codeforces Round #FF (Div. 2) D. DZY Loves Modification 贪心+优先队列
- Codeforces Round #FF (Div. 1) A. DZY Loves Sequences 动态规划