3377 数据结构实验之查找五:平方之哈希表

来源:互联网 发布:安徽联新网络怎么样 编辑:程序博客网 时间:2024/05/19 22:05

数据结构实验之查找五:平方之哈希表

#include <bits/stdc++.h>  using namespace std;  int main()  {      int Hash[550];      int n,k;      while(cin>>n>>k)      {          memset(Hash, -1, sizeof(Hash));          for(int i=0; i<n; i++)          {              int x;              cin>>x;              x = x % k;              Hash[x]++;              if(Hash[x] == 0)                  cout<<x;              else              {                  for(int j=1; j<=k-1; j++)                  {                      if(Hash[(x + j*j)%k] == -1)                      {                          cout<<(x + j*j)%k;                          Hash[(x + j*j)%k]++;                          break;                      }                      else if(Hash[(x - j*j)%k] == -1)                      {                          cout<<(x - j*j)%k;                          Hash[(x - j*j)%k]++;                          break;                      }                  }              }              if(i == n-1)                  cout<<endl;              else                  cout<<" ";          }      }      return 0;  }  
0 0
原创粉丝点击