#include <iostream> #include <cstdio> using namespace std; struct Lus { Lus(){}; int w1,w2,h1,h2; long long P; void oblP() { P=w2-w1; P*=h2-h1;} void zw(Lus &l) { w1 = min(w1,l.w1); w2 = max(w2,l.w2); h1 = min(h1,l.h1); h2 = max(h2,l.h2); } }; int main() { int t,n; scanf("%d", &t); while(t--) { scanf("%d", &n); Lus maks,curr, l; scanf("%d %d %d %d", &curr.w1, &curr.w2, &curr.h1, &curr.h2); n--; curr.oblP(); maks = curr; while(n--) { scanf("%d %d %d %d", &l.w1, &l.w2, &l.h1, &l.h2); l.oblP(); if(l.P > maks.P) maks = l; curr.zw(l); } curr.oblP(); if(maks.P == curr.P) 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 37 38 39 | #include <iostream> #include <cstdio> using namespace std; struct Lus { Lus(){}; int w1,w2,h1,h2; long long P; void oblP() { P=w2-w1; P*=h2-h1;} void zw(Lus &l) { w1 = min(w1,l.w1); w2 = max(w2,l.w2); h1 = min(h1,l.h1); h2 = max(h2,l.h2); } }; int main() { int t,n; scanf("%d", &t); while(t--) { scanf("%d", &n); Lus maks,curr, l; scanf("%d %d %d %d", &curr.w1, &curr.w2, &curr.h1, &curr.h2); n--; curr.oblP(); maks = curr; while(n--) { scanf("%d %d %d %d", &l.w1, &l.w2, &l.h1, &l.h2); l.oblP(); if(l.P > maks.P) maks = l; curr.zw(l); } curr.oblP(); if(maks.P == curr.P) printf("TAK\n"); else printf("NIE\n"); } return 0; } |