54pts 大佬求调
查看原帖
54pts 大佬求调
373288
cxy000楼主2023/8/20 13:40
#include <bits/stdc++.h>
#define int long long
using namespace std;
int k[1000100],b[1000100];
map<int,bool> vis;
map<int,int> tong;
map<int,map<int,int> > m;
signed main(){
	int n,k1,b1;
	cin>>n;
	int num,numm=0;
	bool flag=0;
	for(int i=1;i<=n;i++){
		cin>>num;
		if(num==1){
			cin>>k[i]>>b[i];
			if(vis[k[i]]==0 && flag==1){
				m[k[i]][b[i]]=0;
				tong[k[i]]=0;
				vis[k[i]]=1;
			}
			m[k[i]][b[i]]++;
			tong[k[i]]++;
			numm++;
		}
		else if(num==2){
			cin>>k1>>b1;
			//cout<<"1231d44354d"<<endl;
			if(vis[k1]==0 && flag==1){
				cout<<numm<<endl;
			}
			else cout<<numm-tong[k1]<<endl;
		}
		else {
			vis.clear();
			flag=1;
			cin>>k1>>b1;
			numm=tong[k1];
			if(m[k1][b1]) {
				numm-=m[k1][b1];
				m[k1][b1]=0;
			}
			vis[k1]=1;
		}
	}
	return 0;
}
2023/8/20 13:40
加载中...