96192024-02-23 14:44:27PallanekPéterKaktuszgráfcpp17Hibás válasz 21/504ms4968 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ÖsszpontTesztVerdiktIdőMemória
base21/50
1Elfogadva0/03ms2164 KiB
2Hibás válasz0/03ms2352 KiB
3Elfogadva2/23ms2368 KiB
4Hibás válasz0/23ms2676 KiB
5Hibás válasz0/23ms2892 KiB
6Hibás válasz0/23ms3124 KiB
7Elfogadva2/23ms3232 KiB
8Elfogadva2/23ms3204 KiB
9Hibás válasz0/23ms3208 KiB
10Hibás válasz0/24ms3464 KiB
11Hibás válasz0/23ms3516 KiB
12Hibás válasz0/24ms3828 KiB
13Hibás válasz0/23ms3892 KiB
14Hibás válasz0/23ms3844 KiB
15Hibás válasz0/23ms3844 KiB
16Hibás válasz0/23ms3900 KiB
17Hibás válasz0/23ms3900 KiB
18Hibás válasz0/24ms4196 KiB
19Hibás válasz0/34ms4416 KiB
20Elfogadva3/33ms4368 KiB
21Elfogadva3/33ms4660 KiB
22Elfogadva3/33ms4732 KiB
23Elfogadva3/33ms4860 KiB
24Elfogadva3/33ms4968 KiB