集合使用
来源:互联网 发布:联想双系统启动ubuntu 编辑:程序博客网 时间:2024/06/07 09:47
这个题我用了三种方法做,都是超时,最后set也超时,后来看人家的解题报告才明白,输入有问题,这种输入要考虑很多方面,今天又学到了一个分割字符串的方法,如下:
str1,str2都是string类型
描述
给定两个集合A和B的所有元素,计算它们的交、并、差集。
输入
输入数据有多组,第一行为数据的组数T,接下来有2T行,每组数据占2行,每行有若干个整数,第一行的所有整数构成集合A,第二行的所有整数构成集合B,分别用空格分隔。A和B最多分别不超过100个元素。
输出
输出A、B的交、并、差集中的所有元素(以递增顺序)。每个集合占一行,数据元素之间用空格分隔。
样例输入
1
0 1 2 3 4 5 6 7 8 8
3 6 8 9
0 1 2 3 4 5 6 7 8 8
3 6 8 9
样例输出
3 6 8
0 1 2 3 4 5 6 7 8 9
0 1 2 4 5 7
0 1 2 3 4 5 6 7 8 9
0 1 2 4 5 7
#include<iostream>#include<cstring>#include<sstream>#include<cstdio>#include <algorithm>#include<set>using namespace std;int main(){ set<int>a; set<int>b; set<int>c; int n,x,l,aa; string str1,str2; scanf("%d",&n); getchar(); while(n--) { int i=0,j=0,x=0,f=1,t; getline(cin,str1); std::stringstream ss(str1); while (ss>>aa) { a.insert(aa); } getline(cin,str2); std::stringstream ss1(str2); while (ss1>>aa) { b.insert(aa); } set<int>::iterator ii; // set_union(a.begin(),a.end(),b.begin(),b.end(),insert_iterator(set<int> >(c,c.begin()))); set_intersection(a.begin(),a.end(),b.begin(),b.end(),insert_iterator<set<int> >(c,c.begin())); l=c.size();i=0; for(ii=c.begin();ii!=c.end();ii++) { i++; if(i<l) printf("%d ",(*ii)); else printf("%d\n",*ii); } c.clear(); set_union(a.begin(),a.end(),b.begin(),b.end(),insert_iterator<set<int> >(c,c.begin())); l=c.size();i=0; for(ii=c.begin();ii!=c.end();ii++) { i++; if(i<l) printf("%d ",(*ii)); else printf("%d\n",(*ii)); // if(i<l)cout<<(*ii)<<" "; // else cout<<(*ii)<<endl; } c.clear(); set_difference(a.begin(),a.end(),b.begin(),b.end(),insert_iterator<set<int> >(c,c.begin())); l=c.size();i=0; for(ii=c.begin();ii!=c.end();ii++) { i++; if(i<l) printf("%d ",(*ii)); else printf("%d\n",(*ii)); } c.clear(); } return 0;}
- 使用集合
- 使用集合
- 使用集合
- 使用集合
- 使用集合
- 使用集合
- 使用集合
- 集合使用
- UltraWebGrid使用,注意事项集合
- 集合类的使用
- ASP中使用集合
- GridView使用集合
- JavaScript使用技术集合
- 集合类使用心得
- UltraWebGrid使用,注意事项集合
- 集合类使用心得
- Java集合框架使用
- 非泛型集合使用Linq
- 如何去除laucher里面的图标
- 字符串搜索方法rangeOfString
- Android学习之 ActionBar 和 SherlockActionBar
- 配置tomcat访问日志
- Android异步处理四:AsyncTask的实现原理 .
- 集合使用
- Android下使用c++11的测试
- 局部变量是绝对的线性安全!
- POJ2486:Apple Tree(树形DP)
- LinkedHashMap和HashMap的比较使用
- hdu 1874 畅通工程续
- 文件编辑器
- OAuth鉴权——douban示例
- Java软件架构师所要需的东西