博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集合栈计算机 (The SetStack Computer,ACM/ICPC NWERC 2006,UVa12096
阅读量:4972 次
发布时间:2019-06-12

本文共 1130 字,大约阅读时间需要 3 分钟。

题目描述:

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 using namespace std; 9 10 #define ALL(x) x.begin(),x.end()11 #define INS(x) inserter(x,x.begin())12 13 typedef set
Set;14 map
IDcache; // 把集合映射成ID15 vector
Setcache; // 根据ID取集合16 17 int ID(Set x){18 if(IDcache.count(x)) return IDcache[x] ;19 Setcache.push_back(x) ;20 return IDcache[x] = Setcache.size() - 1;21 }22 23 int main(){24 int t ;25 cin >> t ;26 while(t--){27 stack
s;28 int n;29 cin>> n;30 for(int i=0;i
> op;33 if(op[0] == 'P') s.push(ID(Set())) ;34 else if (op[0] == 'D') s.push(s.top());35 else{36 Set x1 = Setcache[s.top()] ; s.pop();37 Set x2 = Setcache[s.top()] ;s.pop() ;38 Set x ;39 if (op[0] == 'U') set_union (ALL(x1), ALL(x2), INS(x));40 if (op[0] == 'I') set_intersection (ALL(x1), ALL(x2), INS(x));41 if (op[0] == 'A') { x = x2; x.insert(ID(x1)); }42 s.push(ID(x));43 }44 cout << Setcache[s.top()].size() << endl;45 }46 cout << "***" << endl;47 }48 return 0;49 }

 

转载于:https://www.cnblogs.com/secoding/p/9490684.html

你可能感兴趣的文章
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
toad for oracle中文显示乱码
查看>>
SQL中Group By的使用
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
hiho_offer收割18_题解报告_差第四题
查看>>
AngularJs表单验证
查看>>
静态方法是否属于线程安全
查看>>
02号团队-团队任务3:每日立会(2018-12-05)
查看>>
SQLite移植手记1
查看>>
js05-DOM对象二
查看>>
mariadb BINLOG_FORMAT = STATEMENT 异常
查看>>
C3P0 WARN: Establishing SSL connection without server's identity verification is not recommended
查看>>
iPhone在日本最牛,在中国输得最慘
查看>>
动态方法决议 和 消息转发
查看>>
C#生成随机数
查看>>
Java回顾之多线程
查看>>
机电行业如何进行信息化建设
查看>>
9、总线
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6203 ping ping ping
查看>>