Submission #73702184


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;
pair<int, int> dfs(int u, int parent, const vector<vector<int>>& adj, vector<bool>& visited) {
    visited[u] = true;
    int max_len = 0;
    int far_node = u;
    for (int v : adj[u]) {
        if (v == parent) continue;
        auto [len, node] = dfs(v, u, adj, visited);
        len += 1;
        if (len > max_len) {
            max_len = len;
            far_node = node;
        }
    }
    return {max_len, far_node};
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int Q;
    cin >> Q;
    while (Q--) {
        int N;
        cin >> N;
        vector<vector<int>> original_adj(N + 1);
        vector<int> degree(N + 1, 0);
        for (int i = 0; i < N - 1; ++i) {
            int a, b;
            cin >> a >> b;
            original_adj[a].push_back(b);
            original_adj[b].push_back(a);
            degree[a]++;
            degree[b]++;
        }
        vector<vector<int>> sub_adj(N + 1);
        for (int u = 1; u <= N; ++u) {
            if (degree[u] < 3) continue;
            for (int v : original_adj[u]) {
                if (degree[v] >= 3 && v > u) {
                    sub_adj[u].push_back(v);
                    sub_adj[v].push_back(u);
                }
            }
        }
        vector<bool> global_visited(N + 1, false);
        int max_x = 0;
        for (int u = 1; u <= N; ++u) {
            if (degree[u] >= 3 && !global_visited[u]) {
                vector<bool> vis(N + 1, false);
                auto [len1, node1] = dfs(u, -1, sub_adj, vis);
                for (int i = 1; i <= N; ++i) {
                    if (vis[i]) global_visited[i] = true;
                }
                fill(vis.begin(), vis.end(), false);
                auto [len2, node2] = dfs(node1, -1, sub_adj, vis);
                int diameter = len2 + 1;
                max_x = max(max_x, diameter);
            }
        }
        cout << max_x << '\n';
    }
    return 0;
}

Submission Info

Submission Time
Task F - Centipede Graph
User xuhanjin
Language C++23 (GCC 15.2.0)
Score 0
Code Size 2092 Byte
Status WA
Exec Time > 2000 ms
Memory 27088 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 500
Status
AC × 1
AC × 5
WA × 41
TLE × 1
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 3628 KiB
01_small_00.txt WA 28 ms 3552 KiB
01_small_01.txt WA 28 ms 3596 KiB
01_small_02.txt WA 28 ms 3628 KiB
01_small_03.txt WA 28 ms 3640 KiB
01_small_04.txt WA 27 ms 3568 KiB
01_small_05.txt WA 28 ms 3592 KiB
01_small_06.txt WA 18 ms 3536 KiB
02_random_00.txt WA 47 ms 3680 KiB
02_random_01.txt WA 47 ms 3720 KiB
02_random_02.txt WA 47 ms 3768 KiB
02_random_03.txt TLE > 2000 ms 19004 KiB
02_random_04.txt WA 1260 ms 11676 KiB
02_random_05.txt WA 1918 ms 15928 KiB
02_random_06.txt WA 1816 ms 13836 KiB
02_random_07.txt WA 1129 ms 11196 KiB
03_path_00.txt WA 37 ms 3816 KiB
03_path_01.txt WA 37 ms 3664 KiB
03_path_02.txt WA 39 ms 4676 KiB
03_path_03.txt WA 41 ms 4652 KiB
03_path_04.txt WA 51 ms 11780 KiB
03_path_05.txt WA 67 ms 11804 KiB
03_path_06.txt AC 76 ms 27088 KiB
03_path_07.txt WA 77 ms 27068 KiB
03_path_08.txt AC 77 ms 27068 KiB
03_path_09.txt WA 77 ms 26956 KiB
04_star_00.txt AC 43 ms 20512 KiB
04_star_01.txt WA 31 ms 4660 KiB
04_star_02.txt WA 55 ms 12088 KiB
05_uni_00.txt WA 37 ms 3756 KiB
05_uni_01.txt WA 39 ms 4488 KiB
05_uni_02.txt WA 53 ms 11224 KiB
05_uni_03.txt AC 73 ms 21944 KiB
05_uni_04.txt WA 73 ms 21964 KiB
05_uni_05.txt WA 72 ms 21836 KiB
06_bi-ternary_00.txt WA 68 ms 22072 KiB
06_bi-ternary_01.txt WA 53 ms 11252 KiB
06_bi-ternary_02.txt WA 40 ms 3592 KiB
06_bi-ternary_03.txt WA 67 ms 21836 KiB
06_bi-ternary_04.txt WA 56 ms 10652 KiB
06_bi-ternary_05.txt WA 40 ms 3592 KiB
06_bi-ternary_06.txt WA 67 ms 21948 KiB
06_bi-ternary_07.txt WA 59 ms 12108 KiB
06_bi-ternary_08.txt WA 40 ms 3688 KiB
06_bi-ternary_09.txt WA 79 ms 22840 KiB
06_bi-ternary_10.txt WA 55 ms 9664 KiB
06_bi-ternary_11.txt WA 39 ms 3768 KiB