Niestety, nie byliśmy w stanie w pełni poprawnie wyświetlić tego pliku, ponieważ nie jest zakodowany w UTF-8. Możesz pobrać ten plik i spróbować otworzyć go samodzielnie.
 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#define _CRT_SECURE_NO_WARNINGS
#include <algorithm>
#define ULL unsigned long long

using namespace std;


struct zaklad
{
	ULL w1, w2, h1, h2;
};


zaklad ReadZaklad()
{
	zaklad z;
	scanf("%lld %lld %lld %lld", &(z.w1), &(z.w2), &(z.h1), &(z.h2));
	return z;
}

int main()
{
	int n, t;
	scanf("%d", &n);

	while (n--)
	{
		scanf("%d", &t);
		bool res = true;

		zaklad majoranta = ReadZaklad();
		int majoranta_index = 0;
		zaklad current, currentV2;

		int i = 1;
		for (; i < t; i++)
		{
			current = ReadZaklad();
			

			if ((current.h1 > majoranta.h1 && current.w1 < majoranta.w1) ||
				(current.h1 < majoranta.h1 && current.w1 > majoranta.w1) ||
				(current.h2 < majoranta.h2 && current.w2 > majoranta.w2) ||
				(current.h2 > majoranta.h2 && current.w2 < majoranta.w2)) //nie mog� by� dwie
			{
				int cpy = majoranta_index;
				int j = i + 1;
				for (; j < t; j++)
				{
					currentV2 = ReadZaklad();					

					if (currentV2.h1 <= majoranta.h1 && currentV2.w1 <= majoranta.w1 &&
						currentV2.h1 <= current.h1 && currentV2.w1 <= current.w1 &&
						currentV2.h2 >= majoranta.h2 && currentV2.w2 >= majoranta.w2 &&
						currentV2.h2 >= current.h2 && currentV2.w2 >= current.w2) //nowa majoranta
					{
						if (currentV2.h1 != majoranta.h1 || currentV2.w1 != majoranta.w1 ||
							currentV2.h1 != current.h1 || currentV2.w1 != current.w1 ||
							currentV2.h2 != majoranta.h2 || currentV2.w2 != majoranta.w2 ||
							currentV2.h2 != current.h2 || currentV2.w2 != current.w2) //na pewno nowa
						{
							majoranta_index = j;
							majoranta = currentV2;
							break;
						}
					}
				}
				i = j;

				if (majoranta_index == cpy) //baaad
				{
					res = false;
					break;
				}
			}
			else if (current.h1 <= majoranta.h1 && current.w1 <= majoranta.w1 &&
				current.h2 >= majoranta.h2 && current.w2 >= majoranta.w2)
				if (current.h1 != majoranta.h1 || current.w1 != majoranta.w1 ||
					current.h2 != majoranta.h2 || current.w2 != majoranta.w2)
				{
					majoranta_index = i;
					majoranta = current;
				}
		}

		printf("%s\n", (res ? "TAK" : "NIE"));
		for (; i < t; i++)
			scanf("%lld %lld %lld %lld", &(current.w1), &(current.w2), &(current.h1), &(current.h2));
	}


	return 0;

}