#include<bits/stdc++.h> #define ll long long using namespace std; int main() { int t; cin >> t; while(t--) { int n; cin >> n; int right = 2, left = 2, mid = 3; map<pair<ll, ll>, bool> mp; for (int i = 0; i < n; i++){ ll r, c; cin >> r >> c; mp[{r, c}] = 1; if (left && c < 0){ if (r == 1 && (mp[{2, c}] == 1 || mp[{2, c + 1}] == 1 || mp[{2, c - 1}] == 1)) left = 0; else if (r == 2 && (mp[{1, c}] == 1 || mp[{1, c + 1}] == 1 || mp[{1, c - 1}] == 1)) left = 0; else left = 1; } else if (right && c > 0){ if (r == 1 && (mp[{2, c}] == 1 || mp[{2, c + 1}] == 1 || mp[{2, c - 1}] == 1)) right = 0; else if (r == 2 && (mp[{1, c}] == 1 || mp[{1, c + 1}] == 1 || mp[{1, c - 1}] == 1)) right = 0; else right = 1; } if (r == 2 && c == 0){ right = min(right, 1); left = min(left, 1); } } if (mp[{1, 1}] == 1) mid--; if (mp[{2, 0}] == 1) mid--; if (mp[{1, -1}] == 1) mid--; cout << min(mid, right + left) << endl; } }
全部评论
(0) 回帖