93822024-02-21 11:28:25AblablablaKaktuszgráfcpp17Accepted 50/504ms4796 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

vector<vector<int>> csucsok;
vector<bool> bejart;
int maxi = 0;
vector<int> tavok;

void dfs(int akt, int elozo, int tav){
    bejart[akt] = 1;
    tavok[akt] = tav;

    for(int x : csucsok[akt]){
        if(bejart[x]){
            if(x == elozo){
                continue;
            } else{
                int hossz = tavok[akt] - tavok[x] + 1;
                maxi = max(maxi, hossz);
            }

            continue;
        }

        dfs(x, akt, tav + 1);
    }
}

int main()
{
    int n, m;
    cin >> n >> m;

    csucsok.assign(n, vector<int>());
    for(int i = 0; i < m; i++){
        int a, b;
        cin >> a >> b;
        a--; b--;

        csucsok[a].push_back(b);
        csucsok[b].push_back(a);
    }

    tavok.assign(n, 0);
    bejart.assign(n, 0);
    dfs(0, -1, 0);

    cout << maxi << "\n";
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1808 KiB
2Accepted0/03ms2028 KiB
3Accepted2/23ms2248 KiB
4Accepted2/23ms2616 KiB
5Accepted2/23ms2868 KiB
6Accepted2/23ms2968 KiB
7Accepted2/23ms3220 KiB
8Accepted2/23ms3472 KiB
9Accepted2/23ms3684 KiB
10Accepted2/24ms3904 KiB
11Accepted2/23ms3784 KiB
12Accepted2/23ms3840 KiB
13Accepted2/23ms4096 KiB
14Accepted2/23ms4180 KiB
15Accepted2/23ms4328 KiB
16Accepted2/23ms4196 KiB
17Accepted2/24ms4248 KiB
18Accepted2/23ms4248 KiB
19Accepted3/33ms4192 KiB
20Accepted3/33ms4508 KiB
21Accepted3/33ms4548 KiB
22Accepted3/33ms4796 KiB
23Accepted3/33ms4760 KiB
24Accepted3/33ms4760 KiB