2113 2022. 12. 20 10:22:00 kicsiboglar Kaktuszgráf cpp11 Hibás válasz 17/50 3ms 4672 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;
    vector <ll>::iterator e;
    for (e=x[curr].sz.begin();e<x[curr].sz.end();++e)
    {
        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 (db+1>maxi) maxi=db+1;
            if (e-x[curr].sz.begin()!=x[curr].sz.size()-1) v.push_front(curr);
        }
    }
    if (!v.empty()) v.pop_front();
}

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 Összpont Teszt Verdikt Idő Memória
base 17/50
1 Elfogadva 0/0 3ms 1832 KiB
2 Hibás válasz 0/0 2ms 2220 KiB
3 Elfogadva 2/2 2ms 2540 KiB
4 Hibás válasz 0/2 2ms 2752 KiB
5 Hibás válasz 0/2 2ms 2708 KiB
6 Hibás válasz 0/2 2ms 2968 KiB
7 Hibás válasz 0/2 2ms 2952 KiB
8 Hibás válasz 0/2 2ms 2904 KiB
9 Hibás válasz 0/2 3ms 3132 KiB
10 Hibás válasz 0/2 3ms 3340 KiB
11 Hibás válasz 0/2 3ms 3284 KiB
12 Hibás válasz 0/2 3ms 3552 KiB
13 Hibás válasz 0/2 2ms 3500 KiB
14 Hibás válasz 0/2 3ms 3756 KiB
15 Hibás válasz 0/2 2ms 3712 KiB
16 Hibás válasz 0/2 2ms 3712 KiB
17 Hibás válasz 0/2 3ms 3708 KiB
18 Hibás válasz 0/2 3ms 3708 KiB
19 Hibás válasz 0/3 3ms 3984 KiB
20 Elfogadva 3/3 3ms 4312 KiB
21 Elfogadva 3/3 3ms 4420 KiB
22 Elfogadva 3/3 3ms 4468 KiB
23 Elfogadva 3/3 3ms 4544 KiB
24 Elfogadva 3/3 3ms 4672 KiB