#include <cstdio>
#define MIN 1000000001
#define MAX 0
typedef struct szybaaaa{
long long minW, maxW, minH, maxH;
} szyba;
int main(){
int t, ileZes, ileFirm;
scanf("%d", &ileZes);
for(int t = 0; t<ileZes; t++){
bool major = true;
scanf("%d", &ileFirm);
szyba *tab = new szyba[ileFirm];
szyba lider;
lider.minW = MAX;
lider.minH = MAX;
lider.maxW = MIN;
lider.maxH = MIN;
scanf("%lld%lld%lld%lld", &tab[0].minW, &tab[0].maxW, &tab[0].minH, &tab[0].maxH);
lider = tab[0];
for(int i=1; i<ileFirm; i++){
scanf("%lld%lld%lld%lld", &tab[i].minW, &tab[i].maxW, &tab[i].minH, &tab[i].maxH);
if(tab[i].minW <= lider.minW && tab[i].minH <= lider.minH && tab[i].maxW >= lider.maxW && tab[i].maxH >= lider.maxH){
major = true;
lider = tab[i];
continue;
}
if(tab[i].minW >= lider.minW && tab[i].minH >= lider.minH && tab[i].maxW <= lider.maxW && tab[i].maxH <= lider.maxH)
continue;
if(major == true && (tab[i].minW >= lider.minW || tab[i].minH >= lider.minH || tab[i].maxW <= lider.maxW || tab[i].maxH <= lider.maxH)){
major = false;
lider.minW = (tab[i].minW <= lider.minW) ? tab[i].minW : lider.minW;
lider.minH = (tab[i].minH <= lider.minH) ? tab[i].minH : lider.minH;
lider.maxW = (tab[i].maxW >= lider.maxW) ? tab[i].maxW : lider.maxW;
lider.maxH = (tab[i].maxH >= lider.maxH) ? tab[i].maxH : lider.maxH;
continue;
}
}
if(major == true)
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include <cstdio> #define MIN 1000000001 #define MAX 0 typedef struct szybaaaa{ long long minW, maxW, minH, maxH; } szyba; int main(){ int t, ileZes, ileFirm; scanf("%d", &ileZes); for(int t = 0; t<ileZes; t++){ bool major = true; scanf("%d", &ileFirm); szyba *tab = new szyba[ileFirm]; szyba lider; lider.minW = MAX; lider.minH = MAX; lider.maxW = MIN; lider.maxH = MIN; scanf("%lld%lld%lld%lld", &tab[0].minW, &tab[0].maxW, &tab[0].minH, &tab[0].maxH); lider = tab[0]; for(int i=1; i<ileFirm; i++){ scanf("%lld%lld%lld%lld", &tab[i].minW, &tab[i].maxW, &tab[i].minH, &tab[i].maxH); if(tab[i].minW <= lider.minW && tab[i].minH <= lider.minH && tab[i].maxW >= lider.maxW && tab[i].maxH >= lider.maxH){ major = true; lider = tab[i]; continue; } if(tab[i].minW >= lider.minW && tab[i].minH >= lider.minH && tab[i].maxW <= lider.maxW && tab[i].maxH <= lider.maxH) continue; if(major == true && (tab[i].minW >= lider.minW || tab[i].minH >= lider.minH || tab[i].maxW <= lider.maxW || tab[i].maxH <= lider.maxH)){ major = false; lider.minW = (tab[i].minW <= lider.minW) ? tab[i].minW : lider.minW; lider.minH = (tab[i].minH <= lider.minH) ? tab[i].minH : lider.minH; lider.maxW = (tab[i].maxW >= lider.maxW) ? tab[i].maxW : lider.maxW; lider.maxH = (tab[i].maxH >= lider.maxH) ? tab[i].maxH : lider.maxH; continue; } } if(major == true) printf("TAK\n"); else printf("NIE\n"); } return 0; } |
English