#include<iostream>
#include<cstring>
using namespace std;
int t,n,m;
bool a[200005];
int main(){
cin>>t;
while(t--){
memset(a,0,sizeof(a));
cin>>n>>m;
bool f=false;
for(int i=1;i<=m;i++){
int o,x;
cin>>o>>x;
if(o==1){
a[x]=true;
}else{
for(int j=1;j<=n;j++){
if(j!=x){
a[j]=true;
}
}
}
bool flag=true;
for(int j=1;j<=n;j++){
if(!a[j]){
flag=false;
break;
}
}
if(flag){
cout<<i<<endl;
f=true;
break;
}
}
if(!f){
cout<<-1<<endl;
}
}
}
具体思路是将贴了纸的酒标记为 true,然后每轮都统计是否全贴了纸。如果全贴了就输出当前操作数。
通过了 Subtask#1 #1 #2,Sub2 #11、Sub3 #21 TLE,其他点 WA。