한국어< 中文 فارسی English ไทย All Copyright Reserved 2010-2011 SDUSTOJ TEAM GPL2.0 2003-2011 HUSTOJ Project TEAM Anything about the Problems, Please Contact Admin:admin
#include <iostream> #include <algorithm> #include <set> using namespace std; int main() { int T, j, n, a[110]; cin >> T; for(int i = 1; i <= T; i++) { set <int> A; set <int> B; set <int> C; A.clear(); B.clear(); C.clear(); set <int>:: iterator set_iter; cin >> n; for( j = 0; j < n; ++j) cin >> a[j]; A.insert(a, a+n); cin >> n; for(int j = 0; j < n; j++) cin >> a[j]; B.insert(a, a + n); cout << "Case# " << i << ":" << endl; cout << "A = {"; for(set_iter = A.begin(); set_iter != A.end() ; ++set_iter) { if(set_iter != A.begin()) cout << ", "; cout << *set_iter; } cout << "}" <<endl; cout << "B = {"; for(set_iter = B.begin(); set_iter != B.end() ; ++set_iter) { if(set_iter != B.begin()) cout << ", "; cout << *set_iter; } cout << "}" <<endl; cout << "A u B = {"; set_union(A.begin(), A.end(), B.begin(), B.end(), insert_iterator< set<int > >(C,C.begin())); for(set_iter = C.begin(); set_iter != C.end() ; ++set_iter) { if(set_iter != C.begin()) cout << ", "; cout << *set_iter; } cout << "}" <<endl; C.clear(); set_intersection( A.begin(), A.end(), B.begin(), B.end(), insert_iterator< set<int> >(C, C.begin())); cout << "A n B = {"; for(set_iter = C.begin(); set_iter != C.end() ; ++set_iter) { if(set_iter != C.begin()) cout << ", "; cout << *set_iter; } cout << "}" <<endl; C.clear(); cout << "A - B = {"; set_difference(A.begin(), A.end(), B.begin(), B.end(), insert_iterator< set<int> >(C, C.begin())); for(set_iter = C.begin(); set_iter != C.end(); set_iter++ ) { if(set_iter != C.begin()) cout << ", "; cout << *set_iter; } cout << "}" << endl; C.clear(); set<int> C2; cout << "SA = {"; set_union(A.begin(),A.end(),B.begin(),B.end(),insert_iterator<set<int> >(C2,C2.begin())); set_difference(C2.begin(), C2.end(), A.begin(), A.end(), insert_iterator< set<int> >(C, C.begin())); for(set_iter = C.begin(); set_iter != C.end(); set_iter++ ) { if(set_iter != C.begin()) cout << ", "; cout << *set_iter; } cout << "}" << endl; C.clear(); cout << "SB = {"; set_difference(C2.begin(), C2.end(), B.begin(), B.end(), insert_iterator< set<int> >(C, C.begin())); for(set_iter = C.begin(); set_iter != C.end(); set_iter++ ) { if(set_iter != C.begin()) cout << ", "; cout << *set_iter; } cout << "}" << endl; A.clear(); B.clear(); C.clear(); C2.clear(); } }