Buscar

Algoritmos de ordenação têm uma ampla utilização em diversos serviços e aplicações. Um dos principais desafios é adequar o algoritmo para resolver ...

Algoritmos de ordenação têm uma ampla utilização em diversos serviços e aplicações. Um dos principais desafios é adequar o algoritmo para resolver o problema-alvo.Por exemplo, o problema de escalonamento de intervalos, o qual considera uma lista de tarefas com horário de início e fim, tem como objetivo encontrar o maior subconjunto de tarefas que pode ser feito sem sobreposição. A solução ótima desse problema inclui ordenar as tarefas em ordem de horário de fim e após selecionar apenas as tarefas que não se sobrepõem. Suponha que você faça parte de uma equipe de desenvolvimento de softwares educacionais: Descrição da imagem não disponível Desenvolva um código em Python, que dada a ordem de chegada dos alunos para o almoço e suas respectivas notas, reordene a fila de acordo com as notas. Além disso, o seu cliente gostaria de saber quantos alunos trocaram de lugar no total.

💡 1 Resposta

User badge image

Ed Verified user icon

Segue abaixo um exemplo de código em Python que atende aos requisitos da questão: ``` # Recebe a ordem de chegada dos alunos e suas notas ordem_chegada = input().split() notas = input().split() # Cria uma lista de tuplas com a ordem de chegada e a nota de cada aluno alunos = [(int(ordem_chegada[i]), int(notas[i])) for i in range(len(ordem_chegada))] # Ordena a lista de alunos pela nota em ordem decrescente alunos.sort(key=lambda x: x[1], reverse=True) # Conta quantos alunos trocaram de lugar trocas = sum([1 for i in range(len(alunos)) if alunos[i][0] != int(ordem_chegada[i])]) # Imprime a nova ordem de chegada dos alunos e o número de trocas print(" ".join([str(aluno[0]) for aluno in alunos])) print(trocas) ``` O código recebe a ordem de chegada dos alunos e suas respectivas notas, cria uma lista de tuplas com essas informações e ordena a lista pela nota em ordem decrescente. Em seguida, conta quantos alunos trocaram de lugar comparando a ordem de chegada original com a nova ordem após a ordenação. Por fim, imprime a nova ordem de chegada dos alunos e o número de trocas.

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