mirror of
https://github.com/xlucn/PAT.git
synced 2026-10-31 06:37:38 +08:00
23 lines
1.5 KiB
HTML
23 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
<h1>1078. Hashing (25)</h1>
|
|
<div id="problemContent">
|
|
<p>The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function is defined to be "H(key) = key % TSize" where TSize is the maximum size of the hash table. Quadratic probing (with positive increments only) is used to solve the collisions.</p>
|
|
<p>Note that the table size is better to be prime. If the maximum size given by the user is not prime, you must re-define the table size to be the smallest prime number which is larger than the size given by the user.</p>
|
|
<p><b>
|
|
Input Specification:
|
|
</b></p>
|
|
<p>Each input file contains one test case. For each case, the first line contains two positive numbers: MSize (<=10<sup>4</sup>) and N (<=MSize) which are the user-defined table size and the number of input numbers, respectively. Then N distinct positive integers are given in the next line. All the numbers in a line are separated by a space.</p>
|
|
<p><b>
|
|
Output Specification:
|
|
</b></p>
|
|
<p>For each test case, print the corresponding positions (index starts from 0) of the input numbers in one line. All the numbers in a line are separated by a space, and there must be no extra space at the end of the line. In case it is impossible to insert the number, print "-" instead.
|
|
</p>
|
|
<b>Sample Input:</b><pre>
|
|
4 4
|
|
10 6 4 15
|
|
</pre>
|
|
<b>Sample Output:</b><pre>
|
|
0 1 4 -
|
|
</pre>
|
|
</div> |