#include <cstdio> #include <algorithm> using namespace std; struct str { int w1,w2,h1,h2; str(int a=0, int b=0, int c=0, int d=0): w1(a), w2(b), h1(c), h2(d){} }tab[100003]; bool cmpw(str a, str b) { return (a.w1==b.w1)? a.w2>b.w2 : a.w1<b.w1; } bool cmph(str a, str b) { if(a.h1==b.h1) { if(a.h2==b.h2) return (a.w1==b.w1)? a.w2>b.w2 : a.w1<b.w1; else return a.h2>b.h2; } return a.h1<b.h1; } int z,n,a,b,c,d; void Solve() { scanf("%d", &n); for(int i=0; i<n; i++) { scanf("%d%d%d%d", &a,&b,&c,&d); tab[i]=str(a,b,c,d); } sort(tab,tab+n, cmpw); for(int i=1; i<n; i++) if(tab[i].w2>tab[0].w2) { printf("NIE\n"); return; } int tmpw1=tab[0].w1, tmpw2=tab[0].w2; sort(tab, tab+n, cmph); for(int i=1; i<n; i++) if(tab[i].h2>tab[0].h2) { printf("NIE\n"); return; } if(tab[0].w1==tmpw1 && tab[0].w2==tmpw2) printf("TAK\n"); else printf("NIE\n"); } int main() { scanf("%d", &z); while(z--) { Solve(); } }
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 64 65 | #include <cstdio> #include <algorithm> using namespace std; struct str { int w1,w2,h1,h2; str(int a=0, int b=0, int c=0, int d=0): w1(a), w2(b), h1(c), h2(d){} }tab[100003]; bool cmpw(str a, str b) { return (a.w1==b.w1)? a.w2>b.w2 : a.w1<b.w1; } bool cmph(str a, str b) { if(a.h1==b.h1) { if(a.h2==b.h2) return (a.w1==b.w1)? a.w2>b.w2 : a.w1<b.w1; else return a.h2>b.h2; } return a.h1<b.h1; } int z,n,a,b,c,d; void Solve() { scanf("%d", &n); for(int i=0; i<n; i++) { scanf("%d%d%d%d", &a,&b,&c,&d); tab[i]=str(a,b,c,d); } sort(tab,tab+n, cmpw); for(int i=1; i<n; i++) if(tab[i].w2>tab[0].w2) { printf("NIE\n"); return; } int tmpw1=tab[0].w1, tmpw2=tab[0].w2; sort(tab, tab+n, cmph); for(int i=1; i<n; i++) if(tab[i].h2>tab[0].h2) { printf("NIE\n"); return; } if(tab[0].w1==tmpw1 && tab[0].w2==tmpw2) printf("TAK\n"); else printf("NIE\n"); } int main() { scanf("%d", &z); while(z--) { Solve(); } } |