237192026-01-28 09:28:38PappMatyasBizonyításcpp17Time limit exceeded 25/501.108s115888 KiB
#include <iostream>
#include <vector>

using namespace std;

vector<vector<int>> v;
vector<bool> done;

static bool Connects(int x, int y)
{
	if (done[x])
	{
		return false;
	}
	if (x == y)
	{
		return true;
	}

	done[x] = true;
	int s = v[x].size();
	for (int i = 0; i < s; i++)
	{
		if (Connects(v[x][i], y))
		{
			v[x].push_back(y);
			swap(v[x][1], v[x][i]);
			swap(v[x][0], v[x][s]);
			return true;
		}
	}
	return false;
}

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

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

	vector<string> ans;
	done = vector<bool>(n);

	for (int i = 0; i < n; i++)
	{
		v.push_back(vector<int>{});
	}

	for (int i = 0; i < q; i++)
	{
		int t, x, y;
		cin >> t >> x >> y;

		x--; y--;

		if (t == 2)
		{
			fill(done.begin(), done.end(), false);
			ans.push_back(Connects(x, y) ? "IGEN" : "NEM");
		}
		else
		{
			v[x].push_back(y);
		}
	}

	for (string k : ans)
	{
		cout << k << "\n";
	}
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Time limit exceeded1.093s115864 KiB
subtask210/10
3Accepted4ms564 KiB
4Accepted25ms2736 KiB
5Accepted333ms27048 KiB
6Accepted112ms11948 KiB
7Accepted189ms19344 KiB
8Accepted1ms500 KiB
9Accepted2ms316 KiB
10Accepted32ms3760 KiB
11Accepted138ms13988 KiB
12Accepted263ms17796 KiB
subtask315/15
13Accepted2ms512 KiB
14Accepted1ms568 KiB
15Accepted2ms316 KiB
16Accepted2ms316 KiB
17Accepted1ms548 KiB
18Accepted1ms316 KiB
19Accepted1ms316 KiB
20Accepted1ms316 KiB
21Accepted1ms316 KiB
22Accepted1ms388 KiB
23Accepted1ms436 KiB
24Accepted1ms316 KiB
25Accepted1ms316 KiB
26Accepted2ms316 KiB
27Accepted1ms512 KiB
28Accepted1ms316 KiB
29Accepted1ms464 KiB
30Accepted1ms316 KiB
31Accepted1ms348 KiB
32Accepted1ms316 KiB
33Accepted1ms316 KiB
34Accepted1ms376 KiB
35Accepted1ms316 KiB
36Accepted1ms316 KiB
37Accepted1ms316 KiB
38Accepted1ms316 KiB
subtask40/25
39Accepted2ms512 KiB
40Time limit exceeded1.108s115888 KiB
41Accepted4ms564 KiB
42Accepted25ms2736 KiB
43Accepted333ms27048 KiB
44Accepted112ms11948 KiB
45Accepted189ms19344 KiB
46Accepted1ms500 KiB
47Accepted2ms316 KiB
48Accepted32ms3760 KiB
49Accepted138ms13988 KiB
50Accepted263ms17796 KiB
51Accepted1ms568 KiB
52Accepted2ms316 KiB
53Accepted2ms316 KiB
54Accepted1ms548 KiB
55Accepted1ms316 KiB
56Accepted1ms316 KiB
57Accepted1ms316 KiB
58Accepted1ms316 KiB
59Accepted1ms388 KiB
60Accepted1ms436 KiB
61Accepted1ms316 KiB
62Accepted1ms316 KiB
63Accepted2ms316 KiB
64Accepted1ms512 KiB
65Accepted1ms316 KiB
66Accepted1ms464 KiB
67Accepted1ms316 KiB
68Accepted1ms348 KiB
69Accepted1ms316 KiB
70Accepted1ms316 KiB
71Accepted1ms376 KiB
72Accepted1ms316 KiB
73Accepted1ms316 KiB
74Accepted1ms316 KiB
75Accepted1ms316 KiB
76Accepted270ms17848 KiB
77Accepted76ms6340 KiB
78Time limit exceeded1.108s107172 KiB
79Accepted74ms6504 KiB
80Accepted688ms82828 KiB
81Accepted226ms20468 KiB
82Accepted261ms25760 KiB
83Accepted112ms10924 KiB
84Accepted289ms32416 KiB
85Accepted601ms56224 KiB
86Accepted566ms47400 KiB
87Accepted656ms73584 KiB
88Accepted163ms18844 KiB
89Accepted160ms17576 KiB
90Accepted83ms8612 KiB
91Accepted597ms65892 KiB
92Accepted82ms8616 KiB
93Accepted547ms61344 KiB
94Accepted83ms8624 KiB
95Time limit exceeded1.078s820 KiB
96Time limit exceeded1.088s1072 KiB
97Time limit exceeded1.088s1196 KiB
98Time limit exceeded1.098s856 KiB
99Time limit exceeded1.083s1236 KiB
100Time limit exceeded1.082s1708 KiB
101Time limit exceeded1.08s1532 KiB
102Time limit exceeded1.1s1748 KiB
103Time limit exceeded1.085s1712 KiB
104Time limit exceeded1.085s1708 KiB