9619 2024. 02. 23 14:44:27 PallanekPéter Kaktuszgráf cpp17 Hibás válasz 21/50 4ms 4968 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> g[1001];
int mx=0;
vector<int> szin;
bool seen[1001];
int p[1001];
int kormeret(int a, int b){
    int h;
    while(a!=b){
        a=p[a]; h++;
    }
    return h+1;
}
void dfs(int x){
    if (!seen[x]){
        szin[x]=0;
        seen[x]=true;
        for(int i:g[x]){
            if (szin[i]==1) mx=max(mx,kormeret(i,x));
            if (!seen[i]){
                dfs(i);
                p[i]=x;
            }
        }
    }
    szin[x]=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;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    dfs(1);
    cout << mx;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 21/50
1 Elfogadva 0/0 3ms 2164 KiB
2 Hibás válasz 0/0 3ms 2352 KiB
3 Elfogadva 2/2 3ms 2368 KiB
4 Hibás válasz 0/2 3ms 2676 KiB
5 Hibás válasz 0/2 3ms 2892 KiB
6 Hibás válasz 0/2 3ms 3124 KiB
7 Elfogadva 2/2 3ms 3232 KiB
8 Elfogadva 2/2 3ms 3204 KiB
9 Hibás válasz 0/2 3ms 3208 KiB
10 Hibás válasz 0/2 4ms 3464 KiB
11 Hibás válasz 0/2 3ms 3516 KiB
12 Hibás válasz 0/2 4ms 3828 KiB
13 Hibás válasz 0/2 3ms 3892 KiB
14 Hibás válasz 0/2 3ms 3844 KiB
15 Hibás válasz 0/2 3ms 3844 KiB
16 Hibás válasz 0/2 3ms 3900 KiB
17 Hibás válasz 0/2 3ms 3900 KiB
18 Hibás válasz 0/2 4ms 4196 KiB
19 Hibás válasz 0/3 4ms 4416 KiB
20 Elfogadva 3/3 3ms 4368 KiB
21 Elfogadva 3/3 3ms 4660 KiB
22 Elfogadva 3/3 3ms 4732 KiB
23 Elfogadva 3/3 3ms 4860 KiB
24 Elfogadva 3/3 3ms 4968 KiB