45352023-03-29 12:58:11ZsofiaKeresztelyKaktuszgráfcpp14Accepted 50/503ms4408 KiB
#include <bits/stdc++.h>
using namespace std;
vector<vector<int> > g;
vector<int> d;
int op = 0;

void dfs(int v){
    for (int x : g[v]){
        if (d[x] < 0){
            d[x] = d[v] + 1;
            dfs(x);
        }
        else if (d[x] != d[v] - 1){
            op = max(op, d[v] - d[x] + 1);
        }
    }
}

int main()
{
    int n, m;
    cin >> n >> m;
    g.resize(n+1);
    d.assign(n+1, -1);
    while (m--){
        int a, b;
        cin >> a >> b;
        g[a].push_back(b);
        g[b].push_back(a);
    }
    d[1] = 0;
    dfs(1);
    cout << op;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1872 KiB
2Accepted0/03ms2160 KiB
3Accepted2/23ms2420 KiB
4Accepted2/23ms2752 KiB
5Accepted2/23ms2848 KiB
6Accepted2/23ms3172 KiB
7Accepted2/23ms3152 KiB
8Accepted2/23ms3328 KiB
9Accepted2/23ms3516 KiB
10Accepted2/23ms3604 KiB
11Accepted2/23ms3564 KiB
12Accepted2/23ms3816 KiB
13Accepted2/23ms3724 KiB
14Accepted2/23ms3728 KiB
15Accepted2/23ms3728 KiB
16Accepted2/23ms3728 KiB
17Accepted2/23ms3780 KiB
18Accepted2/23ms4040 KiB
19Accepted3/33ms3936 KiB
20Accepted3/33ms3960 KiB
21Accepted3/33ms4112 KiB
22Accepted3/33ms4300 KiB
23Accepted3/33ms4408 KiB
24Accepted3/33ms4260 KiB