→题目链接←
新博客连接:https://www.everlasting.wang/archives/208
【想说的话】
水水水水水水水水水水水水水水水
水水水水水水水水水水水水水水水水水
水水水水水水水水水水水水水水水
水水水水水水水水水水水水水水水水水水水水
【题解】
直接用map保存某个数是否出现过
注意:不能一边扫一边输出,末尾有空格会PE
【代码】
#include<bits/stdc++.h>
using namespace std;
inline int rd(){
int x=0,y=1;char c=getchar();
while(c<'0' || c>'9'){if(c=='-')y=-y;c=getchar();}
while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar();
return x*y;
}
int T,n;
map<int,bool>mp;
vector<int>ans;
void work(){
mp.clear();
ans.clear();
n=rd();
for(int i=0; i<n; i++){
int x=rd();
if(!mp[x]){
mp[x]=1;
ans.push_back(x);
}
}
printf("%d",ans[0]);
for(int i=1; i<ans.size(); i++)printf(" %d",ans[i]);
puts("");
}
int main(){
T=rd();
while(T--){
work();
}
return 0;
}