s1Eva_IIT2014_T3 Parasailing sin sobrecarga, parejas

Ejercicios: 1Eva_IIT2014_T3 Parasailing sin sobrecarga, parejas

Propuesta de solución en Python, también el diagrama en pdf

El ejercicio consiste en una revisión ordenada del peso de cada persona a participar con una posible pareja.

Los pesos de cada persona se registran en un arreglo.

El algoritmo comienza revisando una persona i junto a otra persona j. Si la pareja no sobrecarga el paracaidas, se cuenta y registra la pareja posible de participar en un solo viaje de parasailing. Use un contador y una lista para el registro.

Instrucciones Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2014_T3 Parasailing sin sobrecarga, parejas
# propuesta solucion: edelros@espol.edu.ec

import numpy as np

# INGRESO
capacidad = int(input('capacidad de equipo: '))
n = int(input('personas en cola: '))

peso = np.zeros((n+1),dtype=int)
i = 1
while (i<=n):
    peso[i] = int(input("Peso[ "+str(i)+"]:"))
    i = i + 1

# PROCEDIMIENTO

# busca parejas
posibles = []
parejas = 0
i = 1
while (i<n):
    j = i + 1
    while (j<=n):
        s = peso[i] + peso[j]

        # revisa capacidad
        if (s<=capacidad):
            parejas = parejas + 1
            posibles.append([i,j])
        
        j = j + 1
    i = i + 1

# SALIDA
print('La cantidad de parejas encontradas es: ')
print(parejas)
print('Se puede combinar: ')
print(posibles)

resultado del algoritmo

capacidad de equipo: 350
personas en cola: 3
Peso[ 1]:120
Peso[ 2]:180
Peso[ 3]:165
La cantidad de parejas encontradas es: 
3
Se puede combinar: 
[[1, 2], [1, 3], [2, 3]]
>>> 
capacidad de equipo: 300
personas en cola: 3
Peso[ 1]:120
Peso[ 2]:180
Peso[ 3]:165
La cantidad de parejas encontradas es: 
2
Se puede combinar: 
[[1, 2], [1, 3]]
>>>