236622026-01-27 08:35:45PappMatyasBizonyításcpp17Időlimit túllépés 25/501.088s8608 KiB
#include <iostream>
#include <vector>

using namespace std;

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

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

	done[x] = true;
	int s = v[x].size();
	int val;
	for (int i = 0; i < s; i++)
	{
		val = v[x][i];
		if (!done[val])
		{
			if (Connects(val, y))
			{
				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";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms504 KiB
2Időlimit túllépés1.052s5076 KiB
subtask210/10
3Elfogadva2ms316 KiB
4Elfogadva14ms820 KiB
5Elfogadva159ms1620 KiB
6Elfogadva74ms1048 KiB
7Elfogadva115ms1528 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva18ms820 KiB
11Elfogadva86ms1516 KiB
12Elfogadva125ms992 KiB
subtask315/15
13Elfogadva1ms316 KiB
14Elfogadva1ms500 KiB
15Elfogadva1ms508 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva2ms428 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms500 KiB
27Elfogadva1ms316 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms388 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms316 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms556 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
subtask40/25
39Elfogadva1ms316 KiB
40Időlimit túllépés1.054s5088 KiB
41Elfogadva2ms316 KiB
42Elfogadva14ms820 KiB
43Elfogadva159ms1620 KiB
44Elfogadva74ms1048 KiB
45Elfogadva115ms1528 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva18ms820 KiB
49Elfogadva86ms1516 KiB
50Elfogadva125ms992 KiB
51Elfogadva1ms500 KiB
52Elfogadva1ms508 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva2ms428 KiB
56Elfogadva1ms316 KiB
57Elfogadva1ms316 KiB
58Elfogadva1ms316 KiB
59Elfogadva1ms316 KiB
60Elfogadva1ms316 KiB
61Elfogadva1ms316 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms500 KiB
64Elfogadva1ms316 KiB
65Elfogadva1ms316 KiB
66Elfogadva1ms316 KiB
67Elfogadva1ms388 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms316 KiB
70Elfogadva1ms316 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms556 KiB
73Elfogadva1ms316 KiB
74Elfogadva1ms316 KiB
75Elfogadva1ms316 KiB
76Elfogadva86ms4584 KiB
77Elfogadva37ms752 KiB
78Elfogadva860ms4900 KiB
79Elfogadva37ms820 KiB
80Elfogadva504ms4948 KiB
81Elfogadva130ms2736 KiB
82Elfogadva158ms2492 KiB
83Elfogadva81ms1280 KiB
84Elfogadva210ms2788 KiB
85Elfogadva444ms2912 KiB
86Elfogadva291ms4524 KiB
87Elfogadva486ms4808 KiB
88Elfogadva107ms1552 KiB
89Elfogadva108ms1636 KiB
90Elfogadva79ms8608 KiB
91Elfogadva441ms3248 KiB
92Elfogadva78ms8604 KiB
93Elfogadva407ms3116 KiB
94Elfogadva76ms8608 KiB
95Időlimit túllépés1.077s1520 KiB
96Időlimit túllépés1.088s1292 KiB
97Időlimit túllépés1.08s1188 KiB
98Időlimit túllépés1.083s1616 KiB
99Időlimit túllépés1.082s1076 KiB
100Időlimit túllépés1.08s4768 KiB
101Időlimit túllépés1.08s2724 KiB
102Időlimit túllépés1.08s2724 KiB
103Időlimit túllépés1.083s2616 KiB
104Időlimit túllépés1.088s4828 KiB