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 |
|
|
| 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 |