HDU 1412 {A} + {B}
阿新 • • 發佈:2017-05-28
title sin unique using ace 每一個 padding back stl
Problem Description
給你兩個集合。要求{A} + {B}.
註:同一個集合中不會有兩個同樣的元素.
Input 每組輸入數據分為三行,第一行有兩個數字n,m(0<n,m<=10000),分別表示集合A和集合B的元素個數.後兩行分別表示集合A和集合B.每一個元素為不超出int範圍的整數,每一個元素之間有一個空格隔開.
Output 針對每組數據輸出一行數據,表示合並後的集合,要求從小到大輸出,每一個元素之間有一個空格隔開.
Sample Input
Sample Output
看到大神用STL,寫的如此犀利。忍不住來一發。。
註:同一個集合中不會有兩個同樣的元素.
Input 每組輸入數據分為三行,第一行有兩個數字n,m(0<n,m<=10000),分別表示集合A和集合B的元素個數.後兩行分別表示集合A和集合B.每一個元素為不超出int範圍的整數,每一個元素之間有一個空格隔開.
Output 針對每組數據輸出一行數據,表示合並後的集合,要求從小到大輸出,每一個元素之間有一個空格隔開.
Sample Input
1 2 1 2 3 1 2 1 1 2
Sample Output
1 2 3 1 2
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<limits.h> #include<list> using namespace std; int main() { int n,m,x; list<int>s1; list<int>s2; while(cin>>n>>m) { for(int i=0;i<n;i++) { cin>>x; s1.push_back(x); } for(int i=0;i<m;i++) { cin>>x; s2.push_back(x); } s1.merge(s2); s1.sort(); s1.unique(); int cnt=0; while(!s1.empty()) { if(!cnt) cout<<s1.front(); else cout<<" "<<s1.front(); cnt=1; s1.pop_front(); } cout<<endl; } return 0; }
HDU 1412 {A} + {B}