# [JLOI2011]不重复数字
## 题目描述
给定 $n$ 个数,要求把其中重复的去掉,只保留第一次出现的数。
## 输入格式
**本题有多组数据。**
第一行一个整数 $T$,表示数据组数。
对于每组数据:
第一行一个整数 $n$。
第二行 $n$ 个数,表示给定的数。
## 输出格式
对于每组数据,输出一行,为去重后剩下的数,两个数之间用一个空格隔开。
## 样例 #1
### 样例输入 #1
```
2
11
1 2 18 3 3 19 2 3 6 5 4
6
1 2 3 4 5 6
```
### 样例输出 #1
```
1 2 18 3 19 6 5 4
1 2 3 4 5 6
```
## 提示
对于 $30\%$ 的数据,$n \le 100$,给出的数 $\in [0, 100]$。
对于 $60\%$ 的数据,$n \le 10^4$,给出的数 $\in [0, 10^4]$。
对于 $100\%$ 的数据,$1 \le T\le 50$,$1 \le n \le 5 \times 10^4$,给出的数在 $32$ 位有符号整数范围内。
#include <bits/stdc++.h>
#include <bits/extc++.h>
using namespace std;
using namespace __gnu_pbds;
map<int, int> f;
int main()
{
int T;
cin >> T;
while (T--)
{
int n, x;
cin >> n;
int iter = 0;
vector<pair<int, int>> ve;
for (int i = 1; i <= n; i++)
{
cin >> x;
if (!f[x])
f[x] = ++iter, ve.push_back({iter, x});
}
sort(ve.begin(), ve.end());
for (auto l : ve)
cout << l.second << " ";
f.clear();
cout << endl;
}
system("pause");
}