日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CF A. DZY Loves Hash

發布時間:2025/3/18 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CF A. DZY Loves Hash 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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 10 5 0 21 53 41 53 Output 4 Input 5 5 0 1 2 3 4 Output -1
//題意就是找相等的數,輸出第二個的位置。可是要是最先發現的。

比如:10 5 1 2 2 2 1 輸出是3而不是5,由于先找到2和2相等。假設僅僅用for循環,找到的是1和1相等輸出是5. 第4個例子卡了非常久。沒看懂題目。。。

。

#include <iostream> using namespace std; int main() { __int64 a[400];int n,t,i,j,p,k;while(scanf("%d%d",&p,&n)!=EOF){ memset(a,0,sizeof(a));t=0;for(i=0;i<n;i++){scanf("%I64d",&a[i]);a[i]=a[i]%p;}k=n;for(i=0;i<n-1;i++){ for(j=i+1;j<n;j++)if(a[i]==a[j]){ k=k<(j+1)?k:(j+1);t=1;}}if(t==1)printf("%d\n",k);if(t==0)printf("-1\n");}return 0; }

總結

以上是生活随笔為你收集整理的CF A. DZY Loves Hash的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。