#include<bits/stdc++.h>
using namespace std;
int n,k,b,sub,cnt;
map<pair<int,int>,int> mp;
map<pair<int,int>,int> mp_new;
map<int,int> k_;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d%d%d",&sub,&k,&b);
if(sub==1){
mp[make_pair(k,b)]++;
k_[k]++;
cnt++;
}
if(sub==2){
printf("%d\n",cnt-k_[k]);
}
if(sub==3){
cnt=k_[k]-mp[make_pair(k,b)];
k_.clear();
k_[k]=cnt;
for(int i=-55;i<=55;i++){
if(i!=b&&mp[make_pair(k,i)])mp_new[make_pair(k,i)]=mp[make_pair(k,i)];
}
mp=mp_new,mp_new.clear();
}
}
return 0;
}
赛时代码,骗分结果满了,for(int i=-55;i<=55;i++),建议加强数据