谁能救救我呀~
查看原帖
谁能救救我呀~
1382496
myl_coder楼主2025/8/2 16:15
#include <bits/stdc++.h>
using namespace std;

const int N = 2e5 + 10;

int T, n, m, op[N], x[N], vis[N], cnt, t[N], cnt2;
bool flag = false;

int main() {
	ios :: sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	//freopen (".in", "r", stdin);
	//freopen (".out", "w", stdout);
	
	cin >> T;
	while (T --) {
		cnt = cnt2 = 0;
		flag = false;
		cin >> n >> m;
		for (int i = 1; i <= m; i ++) cin >> op[i] >> x[i];
		for (int i = 1; i <= m; i ++) {
			if (op[i] == 1) {
				if (vis[x[i]] != T) ++ cnt;
				vis[x[i]] = T;
				if (t[x[i]] == T) {
					cout << i << "\n";
					flag = true;
					break;
				}
			} else if (op[i] == 2) {
				if (t[x[i]] != T) ++ cnt2;
				t[x[i]] = T;
				if (vis[x[i]] == T) {
					cout << i << "\n";
					flag = true;
					break;
				}
			}
			if (cnt >= n || cnt2 > 1) {
				cout << i << "\n";
				flag = true;
				break;
			}
		}
		if (!flag) cout << -1 << "\n";
	}
	
	return 0;
}
2025/8/2 16:15
加载中...