CDUTCM OJ——1689:集合问题
CDUTCM——1689
ps:使用set容器的完美解决
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int n,m,k;
set<int>a;//交集
set<int>b;//并集
set<int>c;//差集
set<int>::const_iterator iter;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>k;
a.insert(k);
c.insert(k);
}
for(int i=0;i<m;i++){
cin>>k;
if(a.count(k))b.insert(k);//b是并集
if(!a.count(k))a.insert(k);//a是交集
if(c.count(k))c.erase(k);//c是差集,删除已经存在的
}
cout<<"{";
int i=0;
for(iter=b.begin();iter!=b.end();++iter){
if(++i<b.size())
cout<<*iter<<",";
else
cout<<*iter;
}
cout<<"}";
cout<<endl;
cout<<"{";
i=0;
for(iter=a.begin();iter!=a.end();++iter){
if(++i<a.size())
cout<<*iter<<",";
else
cout<<*iter;
}
cout<<"}";
cout<<endl;
cout<<"{";
i=0;
for(iter=c.begin();iter!=c.end();++iter){
if(++i<c.size())
cout<<*iter<<",";
else
cout<<*iter;
}
cout<<"}";
cout<<endl;
return 0;
}