#include <cstdio> #include <iostream> #include <algorithm> #include <string> #include <vector> using namespace std; typedef vector<int> VI; typedef long long LL; typedef pair<int, int> PII; #define FOR(x, b, e) for (int x = b; x <= (e); ++x) #define FORD(x, b, e) for (int x = b; x >= (e); --x) #define REP(x, n) for (int x = 0; x < (n); ++x) #define VAR(v, n) __typeof(n) v = (n) #define ALL(c) (c).begin(), (c).end() #define SIZE(x) ((int) (x).size()) #define FOREACH(i, c) for (VAR(i, (c).begin()); i != (c).end(); ++i) #define PB push_back #define ST first #define ND second #define MP make_pair // 10^9 + 1 #define INF 1000000001 bool majorize() { int n, w1, w2, h1, h2, wmin, wmax, hmin, hmax, imaj = -1; wmin = hmin = INF; wmax = hmax = 0; scanf("%d\n", &n); REP(i, n) { scanf("%d %d %d %d\n", &w1, &w2, &h1, &h2); if (w1 < wmin || w2 > wmax || h1 < hmin || h2 > hmax) { imaj = -1; wmin = min(wmin, w1); wmax = max(wmax, w2); hmin = min(hmin, h1); hmax = max(hmax, h2); } if (wmin == w1 && wmax == w2 && hmin == h1 && hmax == h2) imaj = i; } return imaj != -1; } int main() { int T; scanf("%d\n", &T); REP(t, T) printf(majorize() ? "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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include <cstdio> #include <iostream> #include <algorithm> #include <string> #include <vector> using namespace std; typedef vector<int> VI; typedef long long LL; typedef pair<int, int> PII; #define FOR(x, b, e) for (int x = b; x <= (e); ++x) #define FORD(x, b, e) for (int x = b; x >= (e); --x) #define REP(x, n) for (int x = 0; x < (n); ++x) #define VAR(v, n) __typeof(n) v = (n) #define ALL(c) (c).begin(), (c).end() #define SIZE(x) ((int) (x).size()) #define FOREACH(i, c) for (VAR(i, (c).begin()); i != (c).end(); ++i) #define PB push_back #define ST first #define ND second #define MP make_pair // 10^9 + 1 #define INF 1000000001 bool majorize() { int n, w1, w2, h1, h2, wmin, wmax, hmin, hmax, imaj = -1; wmin = hmin = INF; wmax = hmax = 0; scanf("%d\n", &n); REP(i, n) { scanf("%d %d %d %d\n", &w1, &w2, &h1, &h2); if (w1 < wmin || w2 > wmax || h1 < hmin || h2 > hmax) { imaj = -1; wmin = min(wmin, w1); wmax = max(wmax, w2); hmin = min(hmin, h1); hmax = max(hmax, h2); } if (wmin == w1 && wmax == w2 && hmin == h1 && hmax == h2) imaj = i; } return imaj != -1; } int main() { int T; scanf("%d\n", &T); REP(t, T) printf(majorize() ? "TAK\n" : "NIE\n"); return 0; } |