96122024-02-23 14:32:35PallanekPéterKaktuszgráfcpp17Hibás válasz 21/504ms5228 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;
    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ÖsszpontTesztVerdiktIdőMemória
base21/50
1Elfogadva0/03ms1900 KiB
2Hibás válasz0/03ms2276 KiB
3Elfogadva2/23ms2568 KiB
4Hibás válasz0/23ms2792 KiB
5Hibás válasz0/23ms3004 KiB
6Hibás válasz0/23ms2960 KiB
7Elfogadva2/23ms3252 KiB
8Elfogadva2/23ms3180 KiB
9Hibás válasz0/23ms3460 KiB
10Hibás válasz0/23ms3548 KiB
11Hibás válasz0/23ms3432 KiB
12Hibás válasz0/23ms3432 KiB
13Hibás válasz0/23ms3568 KiB
14Hibás válasz0/23ms3532 KiB
15Hibás válasz0/23ms3792 KiB
16Hibás válasz0/24ms3996 KiB
17Hibás válasz0/23ms4208 KiB
18Hibás válasz0/23ms4424 KiB
19Hibás válasz0/33ms4636 KiB
20Elfogadva3/33ms4640 KiB
21Elfogadva3/33ms4792 KiB
22Elfogadva3/33ms4936 KiB
23Elfogadva3/33ms5148 KiB
24Elfogadva3/33ms5228 KiB