#include<bits/stdc++.h>
using namespace std;
void hashf(int n,int p)
{
int hash0[5510];
memset(hash0,-1,sizeof(hash0));
for(int i=0; i<n; i++)
{
int ins,t;
scanf("%d",&ins);
t=ins%p;
if(hash0[t]==-1)
{
printf("%d",t);
hash0[t]=ins;
}
else
{
bool f=false;
for(int j=0; j<p; j++)
if(hash0[j]==ins)
{
printf("%d",j);
f=true;
break;
}
if(!f)
{
while(hash0[t%p]!=-1)
t++;
printf("%d",t%p);
hash0[t%p]=ins;
}
}
if(i!=n-1)printf(" ");
else
printf("\n");
}
}
int main()
{
int n,p;
while(~scanf("%d%d",&n,&p))
hashf(n,p);
return 0;
}
SDUT3379数据结构实验之查找七:线性之哈希表
最新推荐文章于 2020-05-18 13:00:32 发布