20362022-12-15 13:03:52kicsiboglarKaktuszgráfcpp11Hibás válasz 2/503ms4896 KiB
#include <iostream>
#define ll long long
#include <vector>
#include <deque>

using namespace std;

ll n,m,i,j,a,b,maxi=0;

struct element
{
    bool seen=false;
    vector <ll> sz;
};

vector <element> x;

deque <ll> v;

void DFS (ll curr)
{
    x[curr].seen=true;
    for (auto &e:x[curr].sz)
    {
        if (!x[e].seen)
        {
            v.push_front(e);
            DFS(e);
        }
        else
        {
            ll db=0;
            while(!v.empty()&&v[0]!=e)
            {
                db++;
                v.pop_front();
            }
            //if (!v.empty()) v.pop_front();
            if (db+1>maxi) maxi=db+1;
            if (x[curr].sz.size()>2) v.push_front(curr);
        }
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    cin>>n>>m;
    x.resize(n+1);
    for (i=1;i<=m;++i)
    {
        cin>>a>>b;
        x[a].sz.push_back(b);
        x[b].sz.push_back(a);
    }

    v.push_back(1);
    DFS(1);
    cout<<maxi;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base2/50
1Hibás válasz0/03ms1832 KiB
2Hibás válasz0/02ms2220 KiB
3Hibás válasz0/22ms2536 KiB
4Hibás válasz0/22ms2716 KiB
5Hibás válasz0/23ms2820 KiB
6Hibás válasz0/23ms3124 KiB
7Hibás válasz0/22ms3432 KiB
8Hibás válasz0/22ms3356 KiB
9Hibás válasz0/23ms3284 KiB
10Hibás válasz0/22ms3188 KiB
11Elfogadva2/23ms3440 KiB
12Hibás válasz0/23ms3744 KiB
13Hibás válasz0/23ms3936 KiB
14Hibás válasz0/23ms3880 KiB
15Hibás válasz0/23ms4060 KiB
16Hibás válasz0/23ms4260 KiB
17Hibás válasz0/23ms4212 KiB
18Hibás válasz0/22ms4240 KiB
19Hibás válasz0/33ms4488 KiB
20Hibás válasz0/33ms4596 KiB
21Hibás válasz0/33ms4696 KiB
22Hibás válasz0/33ms4820 KiB
23Hibás válasz0/32ms4896 KiB
24Hibás válasz0/32ms4896 KiB