Fişierul intrare/ieşire: | gcycle.in, gcycle.out | Sursă | ad-hoc |
Autor | Florin Avram | Adăugată de | |
Timp execuţie pe test | 0.35 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Graph Cycle
Aceasta este o problema usoara.
Fie un graf orientat G = (V, E). Exista in acest graf un ciclu?
Date de intrare
Fisierul de intrare gcycle.in va contine pe prima linie N si M reprezentand numarul de noduri, respectiv numarul de arce al grafului. Pe urmatoarele linii se vor gasi cate doua numere x si y, cu semnificatia ca exista un arc de la nodul x la nodul y.
Date de ieşire
Fisierul de iesire va contine pe prima linie X reprezentand numarul de noduri ce alcatuiesc ciclul. Pe urmatoarea linie se vor gasi X numere, separate printr-un spatiu reprezentand nodurile ce alcatuiesc ciclul. Primul si ultimul nod trebuie sa fie acelasi. Daca graful nu contine cicluri se va afisa valoarea 0.
Restricţii
- 1 ≤ N ≤ 50 000
- 1 ≤ M ≤ 150 000
- Daca graful contine mai multe cicluri, puteti sa il afisati pe oricare.
Exemplu
gcycle.in | gcycle.out |
---|---|
4 5 1 2 2 3 1 3 3 1 3 4 | 4 1 2 3 1 |
Exemplu
gcycle.in | gcycle.out |
---|---|
4 4 1 2 2 3 1 3 3 4 | 0 |
Explicaţie
Pentru primul exemplu graful contine ciclul: 1 -> 2 -> 3 -> 1
Pentru al doilea exemplu graful nu contine cicluri.