Descrição |
Ao iniciar, o programa deve ler um arquivo que define cada caminho possível entre duas cidades quaisquer. Por exemplo:
SaoBorja SaoLuizGonzaga
SaoBorja Santiago
SaoLuizGonzaga CerroLargo
CerroLargo SantaRosa
SaoLuizGonzaga SantaRosa
SantaRosa Girua
CerroLargo Girua
CerroLargo SantoAngelo
Girua SantoAngelo
SantaRosa TresDeMaio
TresDeMaio Horizontina
TresDeMaio TresPassos
TresDeMaio SantoAugusto
TresPassos SantoAugusto
SantoAgusto Ijui
SaoLuizGonzaga Ijui
Ijui Panambi
Panambi PalmeiraDasMissoes
TresDeMaio PalmeiraDasMissoes
PalmeiraDasMissoes FredericoWestphalen
FredericoWestphalen Sarandi
Sarandi Carazinho
Panambi Carazinho
Carazinho PassoFundo
Sarandi PassoFundo
Panambi CruzAlta
Ijui CruzAlta
CruzAlta JulioDeCastilhos
Carazinho Soledade
PassoFundo Soledade
Soledade SantaCruzDoSul
JulioDeCastilhos SantaMaria
SantaMaria SantaCruzDoSul
SantaMaria SaoPedroDoSul
SaoPedroDoSul SaoFranciscoDeAssis
SaoFranciscoDeAssis Santiago
Aspectos
Técnicos
|
Deve ser implementada uma classe para representar a estrutura de dados, e que permita a realização de consultas sobre ela. Uma forma simples de implementar isso é através de uma matriz bidimensional, onde as linhas representam as cidades de origem e as colunas representam as cidades de destino. Onde houver um caminho entre uma cidade e outra, deve-se colocar uma marca (ex: um número diferente de zero, ou um boolean) na célula correspondente da matriz. Dessa forma, para saber se existe um caminho entre uma cidade A e uma cidade B, basta localizar a intersecção delas na matriz e verificar se a marca está presente.
Por exemplo, imaginando uma matriz com 4 cidades:
Carazinho | CruzAlta | Ijui | Panambi | |
Carazinho | X | |||
CruzAlta | X | |||
Ijui | X | |||
Panambi | X |
A classe que representa a estrutura de dados deve ter métodos para:
Entrega
|
Data de Entrega |