9382 2024. 02. 21 11:28:25 Ablablabla Kaktuszgráf cpp17 Elfogadva 50/50 4ms 4796 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";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1808 KiB
2 Elfogadva 0/0 3ms 2028 KiB
3 Elfogadva 2/2 3ms 2248 KiB
4 Elfogadva 2/2 3ms 2616 KiB
5 Elfogadva 2/2 3ms 2868 KiB
6 Elfogadva 2/2 3ms 2968 KiB
7 Elfogadva 2/2 3ms 3220 KiB
8 Elfogadva 2/2 3ms 3472 KiB
9 Elfogadva 2/2 3ms 3684 KiB
10 Elfogadva 2/2 4ms 3904 KiB
11 Elfogadva 2/2 3ms 3784 KiB
12 Elfogadva 2/2 3ms 3840 KiB
13 Elfogadva 2/2 3ms 4096 KiB
14 Elfogadva 2/2 3ms 4180 KiB
15 Elfogadva 2/2 3ms 4328 KiB
16 Elfogadva 2/2 3ms 4196 KiB
17 Elfogadva 2/2 4ms 4248 KiB
18 Elfogadva 2/2 3ms 4248 KiB
19 Elfogadva 3/3 3ms 4192 KiB
20 Elfogadva 3/3 3ms 4508 KiB
21 Elfogadva 3/3 3ms 4548 KiB
22 Elfogadva 3/3 3ms 4796 KiB
23 Elfogadva 3/3 3ms 4760 KiB
24 Elfogadva 3/3 3ms 4760 KiB