OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题1233--散列查找

1233: 散列查找

时间限制: 1 Sec  内存限制: 128 MB
提交: 452  解决: 253
[提交] [状态] [讨论版] [命题人:]

题目描述

这个问题的任务很简单:在散列表中插入一系列不同的正整数,并输出数字在散列表中的位置。
散列函数定义为:H(key) = (key + di2) % TSize(di = 0, 1, …… , TSize - 1), TSize表示散列表的最大大小,采用了二次探测法来处理冲突。

输入

第一行包含两个正整数m(m <= 1009)和n(n <= m), 分别表示散列表的大小和要输入的数字个数,保证m是一个素数。接下来n行每行一个不同的正整数x(x <= 10000),表示要插入散列表的数。

输出

输出共n行,每行一个数字表示在散列表中的位置(下标从0开始), 如果无法插入就输出"-1"。

样例输入 Copy

5 4
10
6
4
15

样例输出 Copy

0
1
4
-1

来源/分类

查找