HDU 1412
读题是真难受!!
A - 这题这么水最后再做吧
You will be given two set A and B. Merge this two set and print the identical elements in increasing order
Input
Each set of input data is divided into three lines, the first line contains two numbers n, m which respectively represent the number of elements of the set A and the set B. The second line contains n elements of set A and the third line contains m elements of set B. Each element is an integer that does not exceed the int range, and each element is separated by a space. Process the input till EOF. There will be maximum 20000 number of elements in a test data.
Output
For each group of data, one row of data is output, indicating that the merged collection requires output from small to large. Each element is separated by a space.
Sample Input
1 2
1
2 3
1 2
1
1 2
Sample Output
1 2 3
1 2
坑点:后面的元素里数字可为复数,用数组标记一做一个错。
一直Runtime Error(ACCESS_VIOLATION)!!!
其实需要输入,然后排序,去重就可以了。
#include<iostream>
using namespace std;
int main()
{
int n, m;
while (scanf_s("%d%d", &n,&m) != EOF)
{
int ans[20010] = { 0 };
for (int i = 0, temp; i < n; i++)
{
cin >> temp;
ans[temp] = 1;
}
for (int i = 0, temp; i < m; i++)
{
cin >> temp;
ans[temp] = 1;
}
for (int i = 0; i < 20010; i++)
{
if (ans[i] == 1)
{
cout << i << " ";
}
}
cout << endl;
}
return 0;
}