//想法是:给每一个数字开辟一个状态位(若该数已存在,则将该数的状态标记为true,否则为false)
//在输入每一个数字是只需要判断if(flag[num]==false)即可得出是否要插入该数的结论
//在插入每一个数字之后,都要将其状态改变
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
bool flag[10000];
void Init()
{
for (int i = 0; i < 10000; i++)
{
flag[i] = false;
}
}
int main(int argc, char argv[])
{
ifstream cin("F://ac.txt");
vector<int>vec;
while (true)
{
int n;
vec.clear();
Init();
cin >> n;
if (n == 0)
{
break;
}
int num;
for (int i = 0; i < n; i++)
{
cin >> num;
if (flag[num] == false)
{
vec.push_back(num);
flag[num] = true;
}
}
sort(vec.begin(), vec.end());
for (int i = 0; i < vec.size() - 1; i++)
{
cout << vec[i] << " ";
}
cout << vec[vec.size() - 1];
cout << endl;
}
return 0;
}
ZOJ 2481的另一种解题思路
最新推荐文章于 2019-04-07 18:49:08 发布