9290 2024. 02. 20 10:07:15 Gervid Kaktuszgráf cpp17 Hibás válasz 2/50 3ms 3988 KiB
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <limits.h>
#include <map>
#include <stack>
#include <algorithm>

using namespace std;

int dfs(vector<vector<int>>& g, vector<int>& state, int node)
{
	int i, longest = 1, current;
	for (i = 0; i < g[node].size(); i++)
	{
		if (state[g[node][i]] == -2)
		{
			continue;
		}
		if (state[node] - state[g[node][i]] > longest)
		{
			longest = state[node] - state[g[node][i]];
			continue;
		}
		if (state[g[node][i]] == INT_MAX)
		{
			state[g[node][i]] = state[node] + 1;
			current = dfs(g, state, g[node][i]);
		}
	}

	state[node] = -2;
	return max(current, longest);
}

int main()
{
	iostream::sync_with_stdio(0);
	cin.tie(0);

	int n, m, i, temp1, temp2;
	cin >> n >> m;

	vector<vector<int>> g(n);

	for (i = 0; i < m; i++)
	{
		cin >> temp1 >> temp2;

		g[--temp1].push_back(--temp2);
		g[temp2].push_back(temp1);
	}

	vector<int> state(n, INT_MAX);
	state[0] = 0;

	cout << dfs(g, state, 0) + 1;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 2/50
1 Hibás válasz 0/0 3ms 1828 KiB
2 Hibás válasz 0/0 3ms 2216 KiB
3 Hibás válasz 0/2 3ms 2552 KiB
4 Hibás válasz 0/2 3ms 2756 KiB
5 Hibás válasz 0/2 3ms 2988 KiB
6 Hibás válasz 0/2 3ms 2864 KiB
7 Hibás válasz 0/2 3ms 3148 KiB
8 Hibás válasz 0/2 3ms 3132 KiB
9 Hibás válasz 0/2 3ms 3088 KiB
10 Hibás válasz 0/2 3ms 3104 KiB
11 Elfogadva 2/2 3ms 3368 KiB
12 Hibás válasz 0/2 3ms 3412 KiB
13 Hibás válasz 0/2 3ms 3484 KiB
14 Hibás válasz 0/2 3ms 3464 KiB
15 Hibás válasz 0/2 3ms 3636 KiB
16 Hibás válasz 0/2 3ms 3500 KiB
17 Hibás válasz 0/2 3ms 3508 KiB
18 Hibás válasz 0/2 3ms 3780 KiB
19 Hibás válasz 0/3 3ms 3744 KiB
20 Hibás válasz 0/3 3ms 3928 KiB
21 Hibás válasz 0/3 3ms 3964 KiB
22 Hibás válasz 0/3 3ms 3972 KiB
23 Hibás válasz 0/3 3ms 3984 KiB
24 Hibás válasz 0/3 3ms 3988 KiB