Buscar

Os elementos aij de uma matriz de números inteiros Anxn representam os custos de transporte da cidade i para a cidade j.

Dados uma matriz Anxn com 1 <= n <= 100, um número inteiro m > 0 representando a quantidade de itinerários, um número k representando o número de cidades em cada um dos itinerários,

 

calcular o custo total para cada itinerário.

 

Exemplo:

 

Dado

 

A =

 

4 1 2 3

 

5 2 1 400

 

2 1 3 8

 

7 1 2 5

 

m = 1, k = 8 e o itinerário 0 3 1 3 3 2 1 0, o custo total desse

 

itinerário é: a03+a31+a13+a33+a32+a21+a10 = 3+1+400+5+2+1+5 = 417

https://www.passeidireto.com/lista/68789632-algoritmos-e-programacao/arquivo/71540475-matrizes

💡 2 Respostas

User badge image

Andre Smaira

Há diversas maneiras de fazer um algoritmo para resolver uma determinada questão. Sendo assim, a linguagem utilizada para escrever o algoritmo foi o Python e o código feito está logo abaixo:




Código em Python

Para explicar melhor o código e sua resolução, vamos separar em tópicos a discussão para expor os pontos principais:

  • Primeiramente, é importante ressaltar que o programa depende da coerência do usuário, ou seja, se ele colocar números que não condizem com a matriz de custo ou colocar strings no itinerário, o programa irá alertar o erro e não funcionará corretamente. Sendo assim, foi admitido como hipótese que o usuário utilizará o programa dentro dos conformes. Para resolver esta questão, pode-se colocar if e else para delimitar as condições, mas teria algumas linhas de código a mais.
  • A raciocínio da questão esta em transformar o itinerário dado pelo usuário em uma list: colocando a função input dentro de um loop junto com o método append, o usuário consegue inserir os números inteiros, que representam as cidades, e é criado uma list do itinerário que será usada na função custo. Nesta função, utilizando uma variável auxiliar para indexar corretamente os valores da list criada, os valores corretos aa matriz de custo vão se somando.

  • 0
    Dislike0

    Faça como milhares de estudantes: teste grátis o Passei Direto

    Esse e outros conteúdos desbloqueados

    16 milhões de materiais de várias disciplinas

    Impressão de materiais

    Agora você pode testar o

    Passei Direto grátis

    Você também pode ser Premium ajudando estudantes

    ✏️ Responder

    SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

    Para escrever sua resposta aqui, entre ou crie uma conta

    User badge image

    Outros materiais