#include <cstdio> #include <vector> #include <algorithm> #define REP(i, n) for (int i = 0; i < (n); ++i) #define FOR(i, a, b) for (int i = (a); i <= (b); ++i) #define MP make_pair #define FI first #define SE second #define PII pair<int, int> #define PB push_back using namespace std; struct Mirror { int ws, we, hs, he; }; int t; int n; vector<Mirror> m; int main() { scanf("%d", &t); REP(tt, t) { scanf("%d", &n); m.clear(); Mirror minmax; minmax.ws = 1000*1000*1000 + 1; minmax.we = 0; minmax.hs = 1000*1000*1000 + 1; minmax.he = 0; REP(i, n) { Mirror mirror; scanf("%d%d%d%d", &mirror.ws, &mirror.we, &mirror.hs, &mirror.he); if (mirror.ws < minmax.ws) minmax.ws = mirror.ws; if (mirror.we > minmax.we) minmax.we = mirror.we; if (mirror.hs < minmax.hs) minmax.hs = mirror.hs; if (mirror.he > minmax.he) minmax.he = mirror.he; m.PB(mirror); } bool result = false; REP(i, n) if (m[i].ws == minmax.ws && m[i].we == minmax.we && m[i].hs == minmax.hs && m[i].he == minmax.he) { result = true; break; } printf("%s\n", result ? "TAK" : "NIE"); } 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 59 60 61 62 63 | #include <cstdio> #include <vector> #include <algorithm> #define REP(i, n) for (int i = 0; i < (n); ++i) #define FOR(i, a, b) for (int i = (a); i <= (b); ++i) #define MP make_pair #define FI first #define SE second #define PII pair<int, int> #define PB push_back using namespace std; struct Mirror { int ws, we, hs, he; }; int t; int n; vector<Mirror> m; int main() { scanf("%d", &t); REP(tt, t) { scanf("%d", &n); m.clear(); Mirror minmax; minmax.ws = 1000*1000*1000 + 1; minmax.we = 0; minmax.hs = 1000*1000*1000 + 1; minmax.he = 0; REP(i, n) { Mirror mirror; scanf("%d%d%d%d", &mirror.ws, &mirror.we, &mirror.hs, &mirror.he); if (mirror.ws < minmax.ws) minmax.ws = mirror.ws; if (mirror.we > minmax.we) minmax.we = mirror.we; if (mirror.hs < minmax.hs) minmax.hs = mirror.hs; if (mirror.he > minmax.he) minmax.he = mirror.he; m.PB(mirror); } bool result = false; REP(i, n) if (m[i].ws == minmax.ws && m[i].we == minmax.we && m[i].hs == minmax.hs && m[i].he == minmax.he) { result = true; break; } printf("%s\n", result ? "TAK" : "NIE"); } return 0; } |