46502023-03-30 14:17:00csaron71Kaktuszgráfcpp17Accepted 50/503ms3824 KiB
#include <bits/stdc++.h>

using namespace std;

vector<bool> volt;
vector<int> oda;
vector<int> korok;
vector<vector<int> > elek;

void belyaras(int x, int y) {
    if (volt[x]==true) {
        korok.push_back(abs(oda[x]-y));
        return;
    }
    volt[x]=true;
    oda[x]=y;
    for (int sz : elek[x]) {
        belyaras(sz, y+1);
    }
}


int main()
{
    int n, m;
    cin >> n >> m;
    elek.resize(n);
    volt.assign(n, false);
    oda.assign(n, -1);
    for (int i=0; i<m; i++) {
        int x, y;
        cin >> x >> y;
        x--;
        y--;
        elek[x].push_back(y);
        elek[y].push_back(x);
    }

    belyaras(0, 1);
    int maxi=0;
    for (int i=0; i<korok.size(); i++) {
        maxi=max(korok[i], maxi);
    }
    cout << maxi << "\n";

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1876 KiB
2Accepted0/03ms2100 KiB
3Accepted2/23ms2196 KiB
4Accepted2/23ms2532 KiB
5Accepted2/23ms2424 KiB
6Accepted2/23ms2744 KiB
7Accepted2/23ms3012 KiB
8Accepted2/23ms2852 KiB
9Accepted2/23ms3312 KiB
10Accepted2/23ms3484 KiB
11Accepted2/23ms3824 KiB
12Accepted2/23ms3608 KiB
13Accepted2/23ms3516 KiB
14Accepted2/23ms3520 KiB
15Accepted2/23ms3520 KiB
16Accepted2/23ms3692 KiB
17Accepted2/23ms3644 KiB
18Accepted2/23ms3580 KiB
19Accepted3/33ms3584 KiB
20Accepted3/33ms3612 KiB
21Accepted3/33ms3776 KiB
22Accepted3/33ms3696 KiB
23Accepted3/33ms3760 KiB
24Accepted3/33ms3732 KiB