MAC110 - Introdução à Computação

BCC - 1o. Semestre de 1999

Exercício-Programa 2

Componentes Conexos de Grafos

Sinopse

Descrição deste Exercício

São dois os objetivos deste exercício: (1) você terá de produzir com seu EP saídas gráficas (o pacote gráfico padrão é o do livro de Roberts); (2) você manipulará objetos de tamanho considerável e para tanto você precisará tomar cuidado com a representação dos dados e com o algoritmo que você utilizará. Introduzimos o problema com um exemplo. Suponha que você tenha o seguinte grafo: g1.ps (use o programa ghostview ou gv para visualizar este arquivo no X; alternativamente, voce pode imprimir este arquivo em qualquer impressora que entenda arquivos PostScript). Os vértices deste grafo são os pares (i,j), onde 0 <= i < 7 e 0<= j < 5. O vértice no canto inferior esquerdo é o vértice (0,0) e o vértice no canto superior direito é o vértice (6,4).

Estamos interessados no vértice central (3,2). Estamos, na verdade, interessados no componente conexo deste vértice, isto é, o grafo definido pelos vértices que são alcançáveis a partir de (3,2) pelas arestas. Você pode imaginar que os 7 * 5 = 35 vértices deste grafo representam cruzamentos entre ruas e que as 29 arestas representam ruas trafegáveis. A nossa tarefa então seria descobrir o conjunto de ruas e cruzamentos alvancáveis se estamos no cruzamento de coordenadas (3,2). A resposta é dada por este grafo: g2.ps.

Em geral, dado um grafo como acima (com M colunas e N linhas de vértices), o seu EP deve determinar o componente conexo do vértice (M/2,N/2) (a divisão aqui é a divisão inteira). Note que no exemplo acima, M = 7 e N = 5.

Execute o seu programa com os seguintes parâmetros e compare o resultado com os arquivos deste diretório. Outros valores para testar:

Observações importantes


Página de principal de MAC110 (BCC - 1o. semestre de 1999).
Netscape-HTML Checked!
Y. Kohayakawa <yoshi@ime.usp.br>

Last modified: Thu Jun 3 00:18:38 EST 1999