#include <bits/stdc++.h>
using namespace std;
vector <int> adiacenta[1001];
int adancime[1001] , maxim[1001] , sursa[1001] , stiva[1001];
inline void Parcurgere (const int nod)
{
    adancime[nod] = adancime[sursa[nod]] + 1;
    for (auto vecin : adiacenta[nod]) {
        if (!adancime[vecin]) { sursa[vecin] = nod; Parcurgere(vecin); }
        else if (vecin != sursa[nod]) { maxim[nod] = max(maxim[nod] , adancime[vecin]); }
    }
}
inline void Solve (const int nod)
{
    stiva[adancime[nod]] = nod;
    if (maxim[nod] && adancime[nod] - maxim[nod] + 1 >= 4)
    {
        bool gasit = false;
        for (int indice = maxim[nod] + 1 ; indice < adancime[nod] ; indice++) {
            if (gasit |= (maxim[stiva[indice]] >= maxim[nod]))
                { break; }
        }
        if (!gasit)
        {
            for (int indice = maxim[nod] ; indice <= adancime[nod] ; indice++)
                { cout << stiva[indice] << ' '; }
            exit(0);
        }
    }
    for (auto vecin : adiacenta[nod]) {
        if (sursa[vecin] == nod)
            { Solve(vecin); }
    }
}
int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    int numar_noduri , numar_muchii;
    cin >> numar_noduri >> numar_muchii;
    while (numar_muchii--)
    {
        int nod[2]; cin >> nod[0] >> nod[1];
        adiacenta[nod[0]].push_back(nod[1]);
        adiacenta[nod[1]].push_back(nod[0]);
    }
    Parcurgere(1);
    Solve(1);
    cout << "no";
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |