Dynamic Connectivity.
Consideremos un grafo no dirigido compuesto por nodos y
aristas. Pueden ocurrir dos tipos
de eventos:
- Se crea una nueva arista entre los nodos
y
.
- Se elimina una arista existente entre los nodos
y
.
Tu tarea consiste en informar el número de componentes después de cada evento.
Entrada
La primera línea de entrada contiene tres números enteros: y
: el número de nodos, aristas y eventos.
A continuación, hay líneas que describen las aristas. Cada línea contiene dos números enteros,
y
: existe una arista entre los nodos
y
. Existe como máximo una arista entre cualquier par de nodos.
Luego, hay líneas que describen los eventos. Cada línea tiene la forma "t a b", donde
es
(crea una nueva arista) ó
(elimina una arista). Siempre se crea una nueva arista entre dos nodos que no tienen una arista existente, y solo se pueden eliminar aristas existentes.
Salida
Imprime enteros: primero, el número de componentes antes del primer evento, y después, el nuevo número de componentes tras cada evento.
Restricciones
Ejemplo de Entrada
5 3 3
1 4
2 3
3 5
1 2 5
2 3 5
1 1 2
Ejemplo de Salida
2 2 2 1
Comments