Paulo é um caixeiro viajante, que visita clientes nas cidades do reino da Nlogônia para demonstrar novos produtos da empresa para a qual trabalha.
Paulo está organizando uma viagem para visitar cada uma das cidades do reino. A Nlogônia é imensa, as cidades são distantes, de forma que Paulo vai sempre usar transporte aéreo para ir de uma cidade a outra. Paulo conhece o tempo de voo entre cada par de cidades, mas não gosta de viajar de avião e quer minimizar o tempo de voo total para a viagem. No entanto, Paulo tem uma demanda peculiar quanto à ordem das cidades que vai visitar.
Na Nlogônia os “nomes” das cidades são números inteiros de a . Paulo deseja que a ordem das cidades que vai visitar obedeçam à seguinte regra: quando Paulo visitar a cidade , ou todas as cidades de nomes menores do que já foram visitadas ou todas serão visitadas após . Por exemplo, se é igual a três, Paulo pode visitar as cidades nas ordens , , ou na ordem , , ou na ordem , , , mas não pode visitá-las na ordem , , , pois quando visita a cidade , como já foi visitada, também deveria ter sido visitada.
Escreva um programa para determinar o tempo mínimo total de voo para a viagem de Paulo, iniciando em qualquer cidade, terminando em qualquer cidade, mas visitando cada cidade uma única vez.
A primeira linha da entrada contém um inteiro , o número de cidades. Cada uma das linhas contém três inteiros , e , indicando que o tempo de voo da cidade para a cidade é (o tempo de voo da cidade para a cidade também é ).
Seu programa deve produzir uma única linha, contendo um único número inteiro, o tempo mínimo total de voo para a viagem de Paulo.
3
1 2 5
1 3 2
2 3 4
7
4
1 2 15
1 3 7
1 4 8
2 3 16
2 4 9
3 4 12
31