// Karol Kosinski #include <cstdio> #include <algorithm> #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define MX 1234567890 using namespace std; int W[123456][4]; bool check(int M[], int k) { FOR(j,0,4) if(M[j] != W[k][j]) return false; return true; } bool testcase() { int n; scanf("%d", &n); int M[] = { MX, 0, MX, 0 }; FOR(i,0,n) { FOR(j,0,4) scanf("%d", &W[i][j]); M[0] = min( M[0], W[i][0] ); M[1] = max( M[1], W[i][1] ); M[2] = min( M[2], W[i][2] ); M[3] = max( M[3], W[i][3] ); } FOR(i,0,n) if(check(M, i)) return true; return false; } int main() { int z; scanf("%d", &z); while(z--) printf(testcase() ? "TAK\n" : "NIE\n"); 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 | // Karol Kosinski #include <cstdio> #include <algorithm> #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define MX 1234567890 using namespace std; int W[123456][4]; bool check(int M[], int k) { FOR(j,0,4) if(M[j] != W[k][j]) return false; return true; } bool testcase() { int n; scanf("%d", &n); int M[] = { MX, 0, MX, 0 }; FOR(i,0,n) { FOR(j,0,4) scanf("%d", &W[i][j]); M[0] = min( M[0], W[i][0] ); M[1] = max( M[1], W[i][1] ); M[2] = min( M[2], W[i][2] ); M[3] = max( M[3], W[i][3] ); } FOR(i,0,n) if(check(M, i)) return true; return false; } int main() { int z; scanf("%d", &z); while(z--) printf(testcase() ? "TAK\n" : "NIE\n"); return 0; } |