关闭

15省赛B-map容器

164人阅读 评论(0) 收藏 举报
分类:

其实这题可以用线段树,巨巨们都用线段树的……

#include<stdio.h>
#include<iostream>
#include<map>
using namespace std;
int main()
{
    int t;
    int n;
    char a;
    int d;
    cin>>t;
    map<int,int>m;
    while(t--){
        cin>>n;
        m.clear();
        while(n--){
            cin>>a;
            if(a!='q'){
                cin>>d;
                if(a=='b'){
                    map<int,int>::iterator it;
                    it=m.find(d);
                    if(it==m.end())
                        m[d]=1;
                    else
                        m[d]++;
                }else{
                    map<int,int>::iterator it;
                    it=m.find(d);
                    if((*it).second==1)
                        m.erase(d);
                    else
                        m[d]--;
                }
            }else{
                map<int,int>::iterator it;
                bool flag=false;
                for(it=m.begin();it!=m.end();it++){
                    if((*it).second==1){
                        flag=true;
                        cout<<(*it).first<<endl;
                        break;
                    }
                }
                if(!flag)
                    puts("none");
            }
        }
    }
    return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28370次
    • 积分:908
    • 等级:
    • 排名:千里之外
    • 原创:64篇
    • 转载:10篇
    • 译文:0篇
    • 评论:2条
    最新评论

    人形时钟

    人形时钟