zoukankan      html  css  js  c++  java
  • C++ map & set

    山东第六届ACM省赛B题

    超时代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<string.h>
     4 #include<sstream>
     5 #include<string>
     6 #include<map>
     7 #include<iterator>
     8 
     9 using namespace std;
    10 map<int,int>mp;
    11 int main()
    12 {
    13     int T,n;
    14     cin>>T;
    15 
    16     while(T--)
    17     {
    18         mp.clear();
    19         cin>>n;
    20         getchar();
    21         char f;
    22         int v;
    23         map<int,int>::iterator it;
    24         for(int i = 0; i < n; ++i)
    25         {
    26             cin>>f;
    27             if(f=='q')
    28             {
    29                 for(it=mp.begin(); it!=mp.end(); it++)
    30                     if(it->second==1){
    31                         cout<<it->first<<endl;
    32                         break;
    33                     }
    34                 if(it==mp.end())cout<<"none"<<endl;
    35             }
    36             else if(f=='b')
    37             {
    38                 cin>>v;
    39                 mp[v]++;
    40             }
    41             else if(f=='c')
    42             {
    43                 cin>>v;
    44                 mp[v]--;
    45             }
    46         }
    47     }
    48     return 0;
    49 }
    View Code

    AC Code:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<string.h>
     4 #include<sstream>
     5 #include<string>
     6 #include<map>
     7 #include<iterator>
     8 #include<set>
     9 using namespace std;
    10 set<int> si; ///始终存放的是出现次数为 1 的元素,内部的元素自动的由set排序
    11 map<int,int>mp;
    12 int main()
    13 {
    14     int T,n;
    15     cin>>T;
    16     while(T--)
    17     {
    18         mp.clear();
    19         si.clear();
    20         cin>>n;
    21         getchar();
    22         char f;
    23         int v;
    24         map<int,int>::iterator it;
    25         for(int i = 0; i < n; ++i)
    26         {
    27             cin>>f;
    28             if(f=='q')
    29             {
    30                 if(!si.empty())cout<<*si.begin()<<endl;
    31                 else cout<<"none"<<endl;
    32             }
    33             else if(f=='b')
    34             {
    35                 cin>>v;
    36                 mp[v]++;
    37                 if(mp[v]==1)
    38                     si.insert(v);
    39                 else si.erase(v);
    40             }
    41             else if(f=='c')
    42             {
    43                 cin>>v;
    44                 mp[v]--;
    45                 if(mp[v]==1)
    46                     si.insert(v);
    47                 else si.erase(v);
    48             }
    49         }
    50     }
    51     return 0;
    52 }
    View Code
  • 相关阅读:
    Redis数据类型有哪些?
    python---判断元素是否可用 is_displayed/is_enabled/is_selected
    pythone---获取文本链接,text/get_attribute/current_url/title
    python---清空 clear
    python---获取元素 CSS
    JDK安装及配hi环境
    python---获取元素 Xpath
    python---获取元素 id/name/class_name/link_text/partial选择器及注意事项
    python---数据类型----set集合和字典
    web搭建自动化环境
  • 原文地址:https://www.cnblogs.com/A--Q/p/6801350.html
Copyright © 2011-2022 走看看