按照第二篇题解的思路打了一遍,样例也过得去,但是全WA。
代码:
#include<bits/stdc++.h>
using namespace std;
struct c{
int num,id;
}d[50005];
bool cmp(c x,c y) {
return x.num < y.num;
}
bool cmp1(c x,c y) {
return x.id < y.id;
}
signed main() {
int a;
scanf("%d",&a);
while(a--) {
int b;
scanf("%d",&b);
for(int i = 1;i <= b;i++) {
scanf("%d",&d[i].num);
d[i].id = i;
}
sort(d + 1,d + b + 1,cmp);
int ans = 0;
for(int i = 2;i <= b;i++) {
if(d[i].num == d[i - 1].num) {
d[i].id = b + 1;
ans++;
}
}
sort(d + 1,d + b + 1,cmp1);
for(int i = 1;i <= b - ans;i++) {
printf("%d ",d[i].num);
}
printf("\n");
}
}