快读快写都用了,就是超时,TLE,41分
#include <bits/stdc++.h>
using namespace std;
int n,op,k,b,ans;
struct re {
int k,b;
};
template<typename type>
inline void read(type &x) {
x=0;
bool flag(0);
char ch=getchar();
while(!isdigit(ch)) flag=ch=='-',ch=getchar();
while(isdigit(ch)) x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
flag?x=-x:0;
}
template<typename type>
inline void write(type x,bool mode=1) {
x<0?x=-x,putchar('-'):0;
static short Stack[50],top(0);
do Stack[++top]=x%10,x/=10;
while(x);
while(top) putchar(Stack[top--]|48);
mode?putchar('\n'):putchar(' ');
}
inline int pd(re l1,re l2) {
if(l1.k==l2.k&&l1.b==l2.b) {
return -1;
} else if(l1.k==l2.k) {
return 0;
} else {
return 1;
}
}
int main() {
read(n);
vector<re> li;
while(n--){
int j;
re l;
read(op);
read(k);
read(b);
if(op == 1) {
l= {k,b};
li.push_back(l);
} else if(op == 2) {
ans = 0;
l = {k, b};
for(j=0; j<li.size(); j++)
if(pd(l,li[j])==1)
ans++;
write(ans,1);
} else {
l= {k,b};
vector<re> tl;
for(j=0; j<li.size(); j++)
if(pd(l,li[j])==0)
tl.push_back(li[j]);
li = tl;
}
}
return 0;
}