Hansrrr

1766

Apr 5th, 2021
634
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Elas devem ser ordenadas primeiramente de forma decrescente por peso.
  2. #Caso duas ou mais apresentarem o mesmo peso elas devem ser ordenadas de forma ascendente pela idade
  3. # após pela altura e caso ainda persista empate, pelo nome.
  4. from operator import itemgetter, attrgetter
  5. class Renas():
  6.     def __init__(self,name,weight,age,height):
  7.         self.name = name
  8.         self.weight = weight
  9.         self.age = age
  10.         self.height = height
  11.  
  12.     def __repr__(self):
  13.         return "%s %s %s %s" %(self.name,self.weight,self.age,self.height)
  14.  
  15.     def get_name(self):
  16.         return self.name
  17.     def get_weight(self):
  18.         return self.weight
  19.     def get_age(self):
  20.         return self.age
  21.     def get_height(self):
  22.         return self.height
  23.  
  24.  
  25. def multisort(xs, specs):
  26.  
  27.     for key, reverse in reversed(specs):
  28.  
  29.         xs.sort(key=attrgetter(key), reverse=reverse)
  30.  
  31.     return xs
  32.  
  33. while(True):
  34.     try:
  35.         numberTests = int(input())
  36.         for i in range(numberTests):
  37.             total, utilizadas = input().split(" ")
  38.             total = int(total)
  39.             utilizadas = int(utilizadas)
  40.             lista = [None]*total
  41.             elements = [None]*utilizadas
  42.  
  43.             for j in range(total):
  44.                 name,weight,age,height = input().split(" ")
  45.                 name = str(name)
  46.                 weight = int(weight)
  47.                 age = int(age)
  48.                 height = float(height)
  49.                 a = Renas(name,weight,age,height)
  50.                 lista[j] = a
  51.            
  52.             #for i in range(len(lista)):
  53.             #    print('{} : {}-{}-{}'.format(lista[i].name,lista[i].weight,lista[i].age,lista[i].height))
  54.             #produtos_ordenados = sorted(lista, key=attrgetter('weight'), reverse=True)
  55.             a = multisort(list(lista), (('weight',True),('age',False),('height',False),('name',False)))
  56.  
  57.             print("CENARIO {%d}" %(i+1))        
  58.             for i in range(utilizadas):
  59.                 print('{} - {}'.format(i+1,a[i].name))
  60.             #quick_sort(lista,0,len(lista), lambda x,y: x.weight < y.weight)
  61.  
  62.             #for i in range(len(produtos_ordenados)):
  63.             #    print(produtos_ordenados[i])
  64.             #print('\n')
  65.  
  66.             #for i in range(len(produtos_ordenados2)):
  67.              #   print(produtos_ordenados2[i])            
  68.            
  69.            
  70.            
  71.  
  72.        
  73.            
  74.  
  75.     except EOFError:
  76.         break
  77.  
  78.  
  79.  
  80.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×