#include <bits/stdc++.h>
using namespace std;
vector <int> adiacenta[1001];
int distanta[1001] , sursa[1001] , __sursa[1001] , stiva[1001];
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]);
}
for (int inceput = 1 ; inceput <= numar_noduri ; inceput++)
{
for (int indice = 1 ; indice <= numar_noduri ; indice++)
{ distanta[indice] = -1; }
queue <int> candidati;
distanta[inceput] = 0;
sursa[inceput] = 0;
__sursa[inceput] = 0;
for (auto vecin : adiacenta[inceput])
{
__sursa[vecin] = inceput;
sursa[vecin] = vecin;
distanta[vecin] = 1;
candidati.push(vecin);
}
while (!candidati.empty())
{
int nod = candidati.front();
candidati.pop();
for (auto vecin : adiacenta[nod]) {
if (distanta[vecin] == -1)
{
__sursa[vecin] = nod;
distanta[vecin] = distanta[nod] + 1;
sursa[vecin] = sursa[nod];
candidati.push(vecin);
}
else
if (sursa[nod] != sursa[vecin] && distanta[nod] + distanta[vecin] > 2)
{
bool gasit = false;
for (auto __vecin : adiacenta[sursa[nod]]) {
if (gasit |= (__vecin == sursa[vecin]))
{ break; }
}
if (!gasit)
{
while (nod != inceput) {
cout << nod << ' ';
nod = __sursa[nod];
}
nod = vecin;
while (nod) {
stiva[++stiva[0]] = nod;
nod = __sursa[nod];
}
while (stiva[0])
{ cout << stiva[stiva[0]--] << ' '; }
return 0;
}
}
}
}
}
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... |