#include <cstdio>
//is w1 h1 in w2 h2?
bool contains(int w1, int h1, int w2, int h2)
{
return (w1 <= w2) && (h1 <= h2);
}
int min(int A, int B)
{
if(A < B) return A;
return B;
}
int max(int A, int B)
{
if(A > B) return A;
return B;
}
int main()
{
int t;
int n;
int w1, w2, h1, h2;
int wmin, wmax, hmax, hmin;
scanf("%d", &t);
while(t--)
{
bool majoranta = true;
scanf("%d", &n);
n -= 1;
scanf("%d %d %d %d", &w1, &w2, &h1, &h2);
wmin = w1;
wmax = w2;
hmin = h1;
hmax = h2;
while(n--)
{
//printf("Aktualna majoranta %d %d %d %d\n", wmin, wmax, hmin, hmax);
scanf("%d %d %d %d", &w1, &w2, &h1, &h2);
//if w1h1 is in wmin hmin and wmax hmax is in w2h2 -> mamy nowa majorante
if(contains(w1, h1, wmin, hmin) && contains(wmax, hmax, w2, h2))
{
majoranta = true;
wmin = w1;
wmax = w2;
hmin = h1;
hmax = h2;
}
else if(w1 < wmin || w2 > wmax || h1 < hmin || h2 > hmax)
{
majoranta = false;
wmin = min(w1, wmin);
wmax = max(w2, wmax);
hmin = min(h1, hmin);
hmax = max(h2, hmax);
}
}
if(majoranta) 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 60 61 62 63 64 65 66 67 68 69 | #include <cstdio> //is w1 h1 in w2 h2? bool contains(int w1, int h1, int w2, int h2) { return (w1 <= w2) && (h1 <= h2); } int min(int A, int B) { if(A < B) return A; return B; } int max(int A, int B) { if(A > B) return A; return B; } int main() { int t; int n; int w1, w2, h1, h2; int wmin, wmax, hmax, hmin; scanf("%d", &t); while(t--) { bool majoranta = true; scanf("%d", &n); n -= 1; scanf("%d %d %d %d", &w1, &w2, &h1, &h2); wmin = w1; wmax = w2; hmin = h1; hmax = h2; while(n--) { //printf("Aktualna majoranta %d %d %d %d\n", wmin, wmax, hmin, hmax); scanf("%d %d %d %d", &w1, &w2, &h1, &h2); //if w1h1 is in wmin hmin and wmax hmax is in w2h2 -> mamy nowa majorante if(contains(w1, h1, wmin, hmin) && contains(wmax, hmax, w2, h2)) { majoranta = true; wmin = w1; wmax = w2; hmin = h1; hmax = h2; } else if(w1 < wmin || w2 > wmax || h1 < hmin || h2 > hmax) { majoranta = false; wmin = min(w1, wmin); wmax = max(w2, wmax); hmin = min(h1, hmin); hmax = max(h2, hmax); } } if(majoranta) printf("TAK\n"); else printf("NIE\n"); } return 0; } |
English