Graph Girth.


Submit solution

Points: 100 (partial)
Time limit: 2.0s
Memory limit: 512M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Java, JS, Kotlin, Lisp, Lua, ObjC, OCaml, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

Dado un grafo no dirigido, su tarea es determinar su circunferencia, es decir, la longitud de su ciclo más corto.

Entrada

La primera línea de entrada tiene dos enteros n y m: el número de nodos y aristas. Los nodos se numeran 1,2,\dots,n. Después, hay m líneas que describen las aristas. Cada línea tiene dos enteros a y b: hay una arista entre los nodos a y b. Puede asumir que hay como máximo una arista entre cada dos nodos.

Salida

Imprima un entero: la circunferencia del grafo. Si no hay ciclos, imprima -1.

Restricciones

  • 1 \leq n \leq 2500
  • 1 \leq m \leq 5000

Ejemplo de Entrada

5 6
1 2
1 3
2 4
2 5
3 4
4 5

Ejemplo de Salida

3

Comments

There are no comments at the moment.