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
#include <cstdio>
#include <algorithm>
using namespace std;

#define MAX_N 100010

struct Range
{
    int minX,minY,maxX,maxY;
};

Range tab[MAX_N];

int main()
{
    int t;
    scanf("%d",&t);
    NEXT:
    while(t--)
    {
        int n;
        scanf("%d",&n);
        Range r;
        scanf("%d%d%d%d",&r.minX,&r.maxX,&r.minY,&r.maxY);
        tab[0]=r;
        for(int a=1;a<n;++a)
        {
            scanf("%d%d%d%d",&tab[a].minX,&tab[a].maxX,&tab[a].minY,&tab[a].maxY);
            r.minX=min(r.minX,tab[a].minX);
            r.maxX=max(r.maxX,tab[a].maxX);
            r.minY=min(r.minY,tab[a].minY);
            r.maxY=max(r.maxY,tab[a].maxY);
        }
        for(int a=0;a<n;++a)
        {
            if(r.minX==tab[a].minX && r.maxX==tab[a].maxX &&
               r.minY==tab[a].minY && r.maxY==tab[a].maxY)
            {
                printf("TAK\n");
                goto NEXT;
            }
        }
        printf("NIE\n");
    }
    return 0;
}