Submission #73723988


Source Code Expand

#include <bits/stdc++.h>
#define vc std::vector

vc<vc<int>> adj; 
vc<vc<int>> adj2; 
vc<int> fck;
vc<int> f;
vc<bool> vis;
int ans;

void dfs(int v, int par) {
	vis[v] = true;
	f[v] = 1;
	int max1 = 0, max2 = 0;
	for (int u : adj2[v]) {
		if (u == par) continue;
		if (!vis[u]) dfs(u, v);
		int len = (fck[u] >= 4) ? f[u] : 1;
		f[v] = std::max(f[v], 1 + len);
		if (fck[v] >= 4) {
			if (len > max1) {
				max2 = max1;
				max1 = len;
			} else if (len > max2) {
				max2 = len;
			}
		}
	}
	ans = std::max(ans, f[v]);
	if (fck[v] >= 4) {
		ans = std::max(ans, 1 + max1 + max2);
	}
}

void solve() {
	int N; std::cin >> N;
	adj.assign(N + 1, vc<int>());
	fck.assign(N + 1, 0);
	for (int i = 0; i < N - 1; i++) {
		int a, b; std::cin >> a >> b;
		adj[a].push_back(b);
		adj[b].push_back(a);
		fck[a]++;
		fck[b]++;
	}

	bool acfk = true;
	for (int i = 1; i <= N; i++) {
		if (fck[i] >= 3) {
			acfk = false;
			break;
		}
	}
	if (acfk) {
		std::cout << 1 << '\n';
		return;
	}

	adj2.assign(N + 1, vc<int>());
	for (int v = 1; v <= N; v++) {
		for (int u : adj[v]) {
			if (v < u && fck[v] >= 3 && fck[u] >= 3) {
				adj2[v].push_back(u);
				adj2[u].push_back(v);
			}
		}
	}

	f.assign(N + 1, 0);
	vis.assign(N + 1, false);
	ans = 1;
	for (int v = 1; v <= N; v++) {
		if (fck[v] >= 3 && !vis[v]) {
			dfs(v, -1);
		}
	}
	std::cout << ans << '\n';
}

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);
	int Q; std::cin >> Q;
	while (Q--) solve();
	return 0;
}

Submission Info

Submission Time
Task F - Centipede Graph
User a_legend_cat
Language C++ IOI-Style(GNU++20) (GCC 14.2.0)
Score 500
Code Size 1567 Byte
Status AC
Exec Time 123 ms
Memory 27372 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 47
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 03_path_00.txt, 03_path_01.txt, 03_path_02.txt, 03_path_03.txt, 03_path_04.txt, 03_path_05.txt, 03_path_06.txt, 03_path_07.txt, 03_path_08.txt, 03_path_09.txt, 04_star_00.txt, 04_star_01.txt, 04_star_02.txt, 05_uni_00.txt, 05_uni_01.txt, 05_uni_02.txt, 05_uni_03.txt, 05_uni_04.txt, 05_uni_05.txt, 06_bi-ternary_00.txt, 06_bi-ternary_01.txt, 06_bi-ternary_02.txt, 06_bi-ternary_03.txt, 06_bi-ternary_04.txt, 06_bi-ternary_05.txt, 06_bi-ternary_06.txt, 06_bi-ternary_07.txt, 06_bi-ternary_08.txt, 06_bi-ternary_09.txt, 06_bi-ternary_10.txt, 06_bi-ternary_11.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 1644 KiB
01_small_00.txt AC 19 ms 1644 KiB
01_small_01.txt AC 18 ms 1644 KiB
01_small_02.txt AC 18 ms 1644 KiB
01_small_03.txt AC 19 ms 1644 KiB
01_small_04.txt AC 18 ms 1644 KiB
01_small_05.txt AC 18 ms 1644 KiB
01_small_06.txt AC 11 ms 1644 KiB
02_random_00.txt AC 24 ms 1772 KiB
02_random_01.txt AC 24 ms 1900 KiB
02_random_02.txt AC 23 ms 1772 KiB
02_random_03.txt AC 81 ms 18028 KiB
02_random_04.txt AC 59 ms 11520 KiB
02_random_05.txt AC 67 ms 14828 KiB
02_random_06.txt AC 62 ms 13924 KiB
02_random_07.txt AC 43 ms 9964 KiB
03_path_00.txt AC 23 ms 1900 KiB
03_path_01.txt AC 24 ms 1900 KiB
03_path_02.txt AC 28 ms 3256 KiB
03_path_03.txt AC 28 ms 3180 KiB
03_path_04.txt AC 48 ms 10612 KiB
03_path_05.txt AC 53 ms 11232 KiB
03_path_06.txt AC 119 ms 26220 KiB
03_path_07.txt AC 101 ms 27372 KiB
03_path_08.txt AC 99 ms 26860 KiB
03_path_09.txt AC 123 ms 27244 KiB
04_star_00.txt AC 59 ms 19628 KiB
04_star_01.txt AC 25 ms 3016 KiB
04_star_02.txt AC 55 ms 13344 KiB
05_uni_00.txt AC 24 ms 1772 KiB
05_uni_01.txt AC 28 ms 2928 KiB
05_uni_02.txt AC 55 ms 10160 KiB
05_uni_03.txt AC 100 ms 20972 KiB
05_uni_04.txt AC 99 ms 21100 KiB
05_uni_05.txt AC 102 ms 20972 KiB
06_bi-ternary_00.txt AC 95 ms 21228 KiB
06_bi-ternary_01.txt AC 52 ms 9964 KiB
06_bi-ternary_02.txt AC 26 ms 1900 KiB
06_bi-ternary_03.txt AC 93 ms 21100 KiB
06_bi-ternary_04.txt AC 50 ms 9580 KiB
06_bi-ternary_05.txt AC 26 ms 1772 KiB
06_bi-ternary_06.txt AC 95 ms 21100 KiB
06_bi-ternary_07.txt AC 58 ms 10732 KiB
06_bi-ternary_08.txt AC 26 ms 1900 KiB
06_bi-ternary_09.txt AC 111 ms 21996 KiB
06_bi-ternary_10.txt AC 46 ms 8556 KiB
06_bi-ternary_11.txt AC 26 ms 1772 KiB