RT,两份代码,一个对,一个60,我认为两者都一样
#include<bits/stdc++.h>
#define int long long
const int N=200005;
using namespace std;
int t,n,a;
vector<int> vec[N+1];
struct node{
int a,b;
};
queue<node> que;
void put(int x)
{
int wuy=abs(x)%N;
int siz=vec[wuy].size();
for(int i=0;i<siz;i++)
if(vec[wuy][i]==x)
return ;
que.push(node{wuy,siz});
vec[wuy].push_back(x);
}
signed main(){
cin>>t;
for(int qwq=1;qwq<=t;qwq++)
{
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%lld",&a);
put(a);
}
while(!que.empty())
{
cout<<vec[que.front().a][que.front().b]<<' ';
vec[que.front().a].erase(vec[que.front().a].begin());
que.pop();
}
cout<<endl;
}
}
#include<bits/stdc++.h>
#define int long long
const int N=200005;
using namespace std;
int t,n,a;
vector<int> vec[N+1];
struct node{
int a,b;
};
queue<node> que;
int put(int x)
{
int wuy=abs(x)%N;
int siz=vec[wuy].size();
for(int i=0;i<siz;i++)
if(vec[wuy][i]==x)
return 0;
vec[wuy].push_back(x);
return 1;
}
signed main(){
cin>>t;
for(int qwq=1;qwq<=t;qwq++)
{
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%lld",&a);
if(put(a)) printf("%lld ",a);
}
for(int i=0;i<=N;i++)
vec[i].clear();
cout<<endl;
}
}