9622 2024. 02. 23 14:48:04 PallanekPéter Kaktuszgráf cpp17 Elfogadva 50/50 4ms 3740 KiB
#include<bits/stdc++.h>
using namespace std;

vector<int> graf[1001];
bool seen[1001];
vector<int> szin;
int p[1001];
int mx=0;

int hossz(int a, int v){
    int h=0;
    while(a!=v){
        a=p[a]; h++;
    }
    return h+1;
}

void mk(int u){
    if (!seen[u]){
        szin[u]=0;
        seen[u]=true;
        for(int v:graf[u]){
            if (szin[v]==1){mx=max(mx,hossz(v,u));}
            if (!seen[v]){
                mk(v);
                p[v]=u;
            }
        }
    }
    szin[u]=1;
}

int main(){
    int n,m; cin >> n >> m;
    szin.assign(n+1,-1);
    for(int i=0;i<m;i++){
        int u,v; cin >> u >> v;
        graf[u].push_back(v);
        graf[v].push_back(u);
    }
    mk(1); cout << mx;
}

Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1776 KiB
2 Elfogadva 0/0 3ms 2104 KiB
3 Elfogadva 2/2 3ms 2412 KiB
4 Elfogadva 2/2 3ms 2732 KiB
5 Elfogadva 2/2 3ms 2584 KiB
6 Elfogadva 2/2 3ms 2728 KiB
7 Elfogadva 2/2 3ms 2716 KiB
8 Elfogadva 2/2 3ms 2620 KiB
9 Elfogadva 2/2 3ms 2880 KiB
10 Elfogadva 2/2 3ms 2824 KiB
11 Elfogadva 2/2 3ms 3072 KiB
12 Elfogadva 2/2 3ms 3032 KiB
13 Elfogadva 2/2 3ms 3344 KiB
14 Elfogadva 2/2 3ms 3428 KiB
15 Elfogadva 2/2 3ms 3312 KiB
16 Elfogadva 2/2 3ms 3312 KiB
17 Elfogadva 2/2 3ms 3312 KiB
18 Elfogadva 2/2 3ms 3312 KiB
19 Elfogadva 3/3 4ms 3320 KiB
20 Elfogadva 3/3 3ms 3420 KiB
21 Elfogadva 3/3 3ms 3568 KiB
22 Elfogadva 3/3 3ms 3684 KiB
23 Elfogadva 3/3 3ms 3740 KiB
24 Elfogadva 3/3 3ms 3632 KiB