#include <cstdio>
#define inf 1000000005
struct Rect { int minW, minH, maxW, maxH; }; Rect Z[100010]; inline bool solve() {
int minW = inf;
int minH = inf;
int maxW = 0;
int maxH = 0;
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++) {
scanf("%d%d%d%d", &Z[i].minW, &Z[i].maxW, &Z[i].minH, &Z[i].maxH);
if(minW > Z[i].minW)
minW = Z[i].minW;
if(minH > Z[i].minH)
minH = Z[i].minH;
if(maxW < Z[i].maxW)
maxW = Z[i].maxW;
if(maxH < Z[i].maxH)
maxH = Z[i].maxH;
}
for(int i = 0; i < n; i++) {
Rect r = Z[i];
if( r.minH == minH && r.maxH == maxH
&& r.minW == minW && r.maxW == maxW)
return true;
}
return false;
}
int main() {
int tests;
scanf("%d", &tests);
for(int i = 0; i < tests; i++)
if(solve()) printf("TAK\n"); else printf("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 | #include <cstdio> #define inf 1000000005 struct Rect { int minW, minH, maxW, maxH; }; Rect Z[100010]; inline bool solve() { int minW = inf; int minH = inf; int maxW = 0; int maxH = 0; int n; scanf("%d", &n); for(int i = 0; i < n; i++) { scanf("%d%d%d%d", &Z[i].minW, &Z[i].maxW, &Z[i].minH, &Z[i].maxH); if(minW > Z[i].minW) minW = Z[i].minW; if(minH > Z[i].minH) minH = Z[i].minH; if(maxW < Z[i].maxW) maxW = Z[i].maxW; if(maxH < Z[i].maxH) maxH = Z[i].maxH; } for(int i = 0; i < n; i++) { Rect r = Z[i]; if( r.minH == minH && r.maxH == maxH && r.minW == minW && r.maxW == maxW) return true; } return false; } int main() { int tests; scanf("%d", &tests); for(int i = 0; i < tests; i++) if(solve()) printf("TAK\n"); else printf("NIE\n"); return 0; } |
English