本机过测试点能过,但是提交全错,没有其他可供测试点代码:
#include <cstdio>
#include <string.h>
#define MAX 500001
int t,n;
int arr[MAX],re[MAX];
int hash(int pos){
int h;
h=(pos%MAX+MAX)%MAX;
while(arr[h]!=0&&re[h]!=pos){
h=((h+1)%MAX+MAX)%MAX;
}
return h;
}
int main(){
int temp=0,h=0;
scanf("%d",&t);
while (t--){
memset(arr,0,sizeof(arr));
memset(re,0,sizeof(re));
scanf("%d",&n);
scanf("%d",&temp);
h=hash(temp);
arr[h]=1;
re[h]=temp;
printf("%d",re[h]);
while(n--){
if(n>0) {
scanf("%d",&temp);
h=hash(temp);
arr[h]=1;
if(n>1&&re[h]!=temp){
re[h]=temp;
printf(" %d",re[h]);
}
else if(n==1&&re[h]!=temp){
re[h]=temp;
printf(" %d\n",re[h]);
}
else
continue;
}
}
}
return 0;
}