Copiado al portapapeles
Descripción
Un grafo es un conjunto de vértices (tambien llamados nodos) y arcos (tambien llamados conexiones), usualmente se usan grafos para representar conexiones de internet, conexiones entre ciudades o incluso redes de distribución de agua o electricidad.
Para representar un grafo en programación usualmente se utilizan dos representaciones. Una matriz de adyacencia y una lista de adyacencia. Tu tarea ahora es que dad una matriz de adyacencia de un grafo, debes generar la lista de adyacencia.
Para un mayor nivel de comprensión puedes observar la imagen superior, la parte (a) es un grafo, la parte (b) es la lista de adyacencia y la parte (c) es la matriz de adyacencia.
Entrada
La entrada contiene solo un caso de prueba. La primera linea de entrada contiene a N, que representan el número de Nodos del grafo ( $2 \leq N \leq 1000$ ). Luego siguen N lineas cada una con N números que representa la matriz de adyacencia.
Salida
Debes imprimir la lista de adyacencia que se genera a partir de la matriz de adyacencia, como se muestra en el ejemplo.