#include<cstdio> #include<vector> #include<cstring> #include<cmath> using namespace std; vector<int> v1,v2,v3,v4; int tab[100003]; int inf = 1000000007; int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); int a=0,b=0,c=0,d=0; int m1=inf,m2=0,m3=inf,m4=0; for (int i = 0; i < n; i++) { scanf("%d%d%d%d",&a,&b,&c,&d); if (a == m1) v1.push_back(i); else if (a < m1) v1.clear(), v1.push_back(i), m1 = a; if (b == m2) v2.push_back(i); else if (b > m2) v2.clear(), v2.push_back(i), m2 = b; if (c == m3) v3.push_back(i); else if (c < m3) v3.clear(), v3.push_back(i), m3 = c; if (d == m4) v4.push_back(i); else if (d > m4) v4.clear(), v4.push_back(i), m4 = d; } int ans = 0; int q = max(max(v1.size(),v2.size()),max(v3.size(),v4.size())); for (int i = 0; i < q; i++) { if (i < v1.size()) tab[v1[i]]++; if (i < v2.size()) tab[v2[i]]++; if (i < v3.size()) tab[v3[i]]++; if (i < v4.size()) tab[v4[i]]++; } for (int i = 0; i < n; i++) if (tab[i] == 4) {ans = true; break;} if (ans) puts("TAK"); else puts("NIE"); v1.clear(), v2.clear(), v3.clear(), v4.clear(); memset(tab,0,4*n+4); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include<cstdio> #include<vector> #include<cstring> #include<cmath> using namespace std; vector<int> v1,v2,v3,v4; int tab[100003]; int inf = 1000000007; int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); int a=0,b=0,c=0,d=0; int m1=inf,m2=0,m3=inf,m4=0; for (int i = 0; i < n; i++) { scanf("%d%d%d%d",&a,&b,&c,&d); if (a == m1) v1.push_back(i); else if (a < m1) v1.clear(), v1.push_back(i), m1 = a; if (b == m2) v2.push_back(i); else if (b > m2) v2.clear(), v2.push_back(i), m2 = b; if (c == m3) v3.push_back(i); else if (c < m3) v3.clear(), v3.push_back(i), m3 = c; if (d == m4) v4.push_back(i); else if (d > m4) v4.clear(), v4.push_back(i), m4 = d; } int ans = 0; int q = max(max(v1.size(),v2.size()),max(v3.size(),v4.size())); for (int i = 0; i < q; i++) { if (i < v1.size()) tab[v1[i]]++; if (i < v2.size()) tab[v2[i]]++; if (i < v3.size()) tab[v3[i]]++; if (i < v4.size()) tab[v4[i]]++; } for (int i = 0; i < n; i++) if (tab[i] == 4) {ans = true; break;} if (ans) puts("TAK"); else puts("NIE"); v1.clear(), v2.clear(), v3.clear(), v4.clear(); memset(tab,0,4*n+4); } return 0; } |