Os testes para as listas de exercícios
serão feitos via arquivos.
Seguem abaixo as especificações
deles.
==========
Questão 01
==========
Arquivo fonte: quest1.c
Arquivo de entrada: quest1.in
Arquivo de saída: quest1.out
O arquivo de entrada consiste de varios
conjuntos de dados. Cada conjunto começa com o numero "x" de vertices
de um grafo. A próxima linha contém dois inteiros representando
o vértice s (sink) e t (target). As próximas "x" linhas contém
as listas de adjacências do grafo, contendo a respectiva capacidade
de cada aresta. O primeiro numero de cada uma das "x" linhas é um
inteiro n tal que 1 <= n <= x. Depois seguem-se vários pares
de inteiros v e c representando, onde v é um vértice adjacente
ao vertice n e c é a capacidade da aresta correspondente. A lista
de vertices adjacentes termina com o inteiro 0.
O arquivo de entrada é terminado
por um conjunto de dados comecando com "x = 0". Esse conjunto não
deve ser processado.
Considere que 0 <= x <= 100.
Entrada exemplo:
8
1 8
1 2 5 3 7 4 6 0
2 5 4 6 3 0
3 6 4 7 1 0
4 7 5 0
5 8 3 0
6 8 7 0
7 8 6 6 4 0
8 0
4
1
4
1 2 5 3 2 0
2 4 2 0
3 4 5 0
4 0
0
Arquivo de Saida: quest1.out
Para cada conjunto, voce deve imprimir x linhas, onde x é o número de vértices do grafo. Em cada uma das X linhas, imprima o vértice do grafo e uma lista de pares de valores correspondendo à aresta e ao fluxo que está sendo passado por esta aresta. Por exemplo: 1 2 5, significa que a aresta que liga o vértice 1 ao 2 possui um fluxo de 5. Um linha em branco separa cada conjunto.
Saida exemplo correspondente a entrada
acima:
Conjunto #1
1 2 5 3 5 4 5
2 5 3 6 2
3 6 4 7 1
4 7 5
5 8 3
6 8 7
7 6 1 8 5
8
Conjunto #2
1 2 2 3 2
2 4 2
3 4 2
4
Obs.:
==========
Questão 02
==========
Arquivo fonte: quest2.c
Arquivo de entrada: quest2.in
Arquivo de saída: quest2.out
Arquivo de entrada: quest2.in
O arquivo de entrada consiste de varios conjuntos de dados. Cada conjunto comeca com uma linha contendo o numero "x" de vertices de um grafo. As proximas "x" linhas contem as listas de adjacencias do grafo que devem ser processadas. Os números seguintes representam os vértices v adjacentes ao vértice n. Um conjunto em que x=0 indica o final do arquivo. Esse conjunto nao deve ser processado.
Considere que 0 <= x <= 100.
Entrada exemplo:
16
1 2 8 13 14 16 0
2 1 3 8 7 5 0
3 2 4 5 6 7 0
4 3 5 6 0
5 4 3 2 0
6 4 3 0
7 3 2 0
8 2 9 1 0
9 8 10 11 12 0
10 9 11 12 0
11 10 9 0
12 10 9 0
13 1 14 0
14 13 15 16 1 0
15 14 0
16 14 1 0
0
Arquivo de Saida: quest2.out
Para cada conjunto, voce deve imprimir
"2*n+1" linhas, em que n e' o numero de componentes biconexos do grafo
correspondente ao conjunto. A primeira linha contém o número
do conjunto, as próximas 2*n linhas conterão o número
do componente e logo em seguida os vértices pertencentes a cada
subgrafo induzido pelo componente biconexo em ordem crescente.
Uma linha em branco separa cada conjunto.
Saida exemplo:
Conjunto #1
Componente 1:
2 3 4 5 6 7
Componente 2:
9 10 11 12
Componente 3:
8 9
Componente 4:
14 15
Componente 5:
1 13 14 16
Componente 6:
1 2 8
Obs.: