Comprobar si un grafo está equilibrado

Un grafo dirigido se considera equilibrado cuando, para cada uno de sus vértices, la cantidad de aristas entrantes coincide con la cantidad de aristas salientes. Dado un grafo con v vértices y e aristas, se solicita determinar si cumple esta condición.

Entrada

La primera línea de la entrada contiene dos enteros v (1 ≤ v ≤ 100 000) y e (1 ≤ e ≤ 100 000).
Las siguientes e líneas contienen pares de enteros v1, v2 (1 ≤ v1, v2 ≤ v) que indican que el vértice v1 está conectado con el vértice v2 y viceversa.

Salida

El programa debe imprimir Yes si el grafo está equilibrado y No en caso contrario.

Ejemplos

Entrada
Salida
3 2 1 2 2 3
No
3 3 1 2 2 3 3 1
Yes

Explicación

Ejemplo 1: El vértice 1 no recibe aristas entrantes, pero sí tiene una de salida ⇒ el grafo no está equilibrado.
Ejemplo 1: El vértice 1 no recibe aristas entrantes, pero sí tiene una de salida ⇒ el grafo no está equilibrado.
Ejemplo 2: Todos los vértices presentan una arista de entrada y una de salida ⇒ el grafo está equilibrado.
Ejemplo 2: Todos los vértices presentan una arista de entrada y una de salida ⇒ el grafo está equilibrado.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue