237472026-01-28 18:00:27PappMatyasBizonyításcpp17Accepted 50/50908ms1504 KiB
#include <iostream>
#include <vector>

using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int n, q;
	cin >> n >> q;

	vector<vector<bool>> a(n, vector<bool>(n, false));
	for (int i = 0; i < n; i++)
	{
		a[i][i] = true;
	}

	for (int i = 0; i < q; i++)
	{
		int t, x, y;
		cin >> t >> x >> y;
		x--; y--;
		if (t == 1)
		{
			if (!a[x][y])
			{
				a[x][y] = true;
				vector <int> s, o;
				int sn = 0, on = 0;
				for (int i = 0; i < n; i++)
				{
					if (a[i][x]) 
					{ 
						s.push_back(i); 
						sn++; 
					}
				}
					
				for (int i = 0; i < n; i++)
				{
					if (a[y][i])
					{ 
						o.push_back(i); 
						on++; 
					}
				}
					
				for (int i = 0; i < sn; i++)
				{
					for (int j = 0; j < on; j++)
					{
						a[s[i]][o[j]] = true;
					}
				}
			}
		}
		else
		{
			cout << (a[x][y] ? "IGEN" : "NEM") << "\n";
		}
	}
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms500 KiB
2Accepted173ms824 KiB
subtask210/10
3Accepted3ms316 KiB
4Accepted9ms316 KiB
5Accepted118ms564 KiB
6Accepted56ms316 KiB
7Accepted54ms316 KiB
8Accepted3ms380 KiB
9Accepted2ms316 KiB
10Accepted10ms436 KiB
11Accepted35ms316 KiB
12Accepted90ms580 KiB
subtask315/15
13Accepted1ms500 KiB
14Accepted2ms316 KiB
15Accepted1ms512 KiB
16Accepted1ms316 KiB
17Accepted1ms316 KiB
18Accepted1ms316 KiB
19Accepted1ms316 KiB
20Accepted1ms316 KiB
21Accepted1ms416 KiB
22Accepted1ms316 KiB
23Accepted1ms316 KiB
24Accepted1ms352 KiB
25Accepted1ms316 KiB
26Accepted1ms364 KiB
27Accepted1ms316 KiB
28Accepted2ms564 KiB
29Accepted1ms508 KiB
30Accepted1ms508 KiB
31Accepted1ms508 KiB
32Accepted1ms316 KiB
33Accepted1ms316 KiB
34Accepted1ms504 KiB
35Accepted1ms316 KiB
36Accepted1ms316 KiB
37Accepted1ms316 KiB
38Accepted1ms508 KiB
subtask425/25
39Accepted1ms500 KiB
40Accepted173ms820 KiB
41Accepted3ms316 KiB
42Accepted9ms316 KiB
43Accepted118ms564 KiB
44Accepted56ms316 KiB
45Accepted54ms316 KiB
46Accepted3ms380 KiB
47Accepted2ms316 KiB
48Accepted10ms436 KiB
49Accepted35ms316 KiB
50Accepted90ms580 KiB
51Accepted2ms316 KiB
52Accepted1ms512 KiB
53Accepted1ms316 KiB
54Accepted1ms316 KiB
55Accepted1ms316 KiB
56Accepted1ms316 KiB
57Accepted1ms316 KiB
58Accepted1ms416 KiB
59Accepted1ms316 KiB
60Accepted1ms316 KiB
61Accepted1ms352 KiB
62Accepted1ms316 KiB
63Accepted1ms364 KiB
64Accepted1ms316 KiB
65Accepted2ms564 KiB
66Accepted1ms508 KiB
67Accepted1ms508 KiB
68Accepted1ms508 KiB
69Accepted1ms316 KiB
70Accepted1ms316 KiB
71Accepted1ms504 KiB
72Accepted1ms316 KiB
73Accepted1ms316 KiB
74Accepted1ms316 KiB
75Accepted1ms508 KiB
76Accepted24ms832 KiB
77Accepted46ms464 KiB
78Accepted115ms976 KiB
79Accepted39ms508 KiB
80Accepted82ms836 KiB
81Accepted23ms564 KiB
82Accepted27ms564 KiB
83Accepted32ms484 KiB
84Accepted57ms564 KiB
85Accepted98ms564 KiB
86Accepted41ms980 KiB
87Accepted89ms716 KiB
88Accepted39ms464 KiB
89Accepted46ms512 KiB
90Accepted63ms1332 KiB
91Accepted151ms564 KiB
92Accepted61ms1332 KiB
93Accepted127ms564 KiB
94Accepted61ms1332 KiB
95Accepted50ms844 KiB
96Accepted86ms820 KiB
97Accepted105ms480 KiB
98Accepted48ms820 KiB
99Accepted76ms820 KiB
100Accepted742ms1332 KiB
101Accepted755ms1328 KiB
102Accepted907ms1336 KiB
103Accepted908ms1504 KiB
104Accepted716ms1332 KiB