zoukankan      html  css  js  c++  java
  • uva 12096

    优先队列,主要是STL应用所以复制一下

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <algorithm>
    #include <map>
    #include <cmath>
    #include <cstring>
    #include <string>
    #include <queue>
    #include <stack>
    #include <cctype>
    #include <set>
    #define ALL(x) x.begin(),x.end()
    #define INS(x) inserter(x,x.begin())
    
    using namespace std;
    
    const int maxn = 10005;
    
    typedef set<int>Set;
    map <Set,int>IDcache;
    vector<Set>Setcache;
    
    int ID(Set x){
        if(IDcache.count(x))
            return IDcache[x];
        Setcache.push_back(x);
        return IDcache[x] = Setcache.size()-1;
    }
    
    int main()
    {
    #ifndef ONLINE_JUDGE
        freopen("in.in","r",stdin);
    #endif
      //  freopen("out.out","w",stdout);
        stack<int>s;
        int t;
        cin >> t;
        while(t--){
        int n;
        cin >> n;
        for(int i = 0;i < n;i++){
            string op;
            cin >> op;
            if(op[0] == 'P')
                s.push(ID(Set()));
            else if(op[0] == 'D')
                s.push(s.top());
            else{
                Set x1 = Setcache[s.top()];
                s.pop();
                Set x2 = Setcache[s.top()];
                s.pop();
                Set x;
                if(op[0] == 'U')
                    set_union(ALL(x1),ALL(x2),INS(x)); ///并集
                if(op[0] == 'I')
                    set_intersection(ALL(x1),ALL(x2),INS(x)); ///交集
                if(op[0] == 'A'){
                    x = x2;
                    x.insert(ID(x1));
                }
                s.push(ID(x));
            }
            cout << Setcache[s.top()].size() << endl;
        }
        cout << "***" << endl;
        }
        return 0;
    }
    啊哈哈哈
  • 相关阅读:
    编程题练习
    算法:快速排序
    ansible的playbook剧本
    Django框架之验证码生成示例
    Django之auth模块用户认证模块
    Django框架之models和不依赖Qquery的ajax请求
    Django框架之序列化和上传文件
    Django高级篇一RESTful架构及API设计
    Git工具和GitHub的使用
    python之Flask框架
  • 原文地址:https://www.cnblogs.com/hanbinggan/p/4248966.html
Copyright © 2011-2022 走看看