Advertisement
dzocesrce

[VI] Teaming up

Jan 23rd, 2025
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. #mozda e do mene ama nerealno tesko mi deluva, duri i da se pogodi dobro da se printa test caseo
  2. #ili sum preslab ili nema sansi vakvo nesto da se padni na ispit, i pak samo 4/5 test cases
  3.  
  4. from constraint import *
  5.  
  6. if __name__ == '__main__':
  7.     n= int(input())
  8.     team= Problem()
  9.     participants= []
  10.     participants_list= {}
  11.     team_leaders_list= {}
  12.     team_leaders= []
  13.     for i in range(n):
  14.         weight,letter= input().split(' ')
  15.         participants_list[weight]=letter
  16.         participants.append(float(weight))
  17.  
  18.     n = int(input())
  19.     for i in range(n):
  20.         weight,letter= input().split(' ')
  21.         team_leaders_list[weight]=letter
  22.         team_leaders.append(float(weight))
  23.     variables= ["Team leader","Participant 1","Participant 2","Participant 3","Participant 4","Participant 5"]
  24.     team.addVariable("Team leader",team_leaders)
  25.     team.addVariables(["Participant 1","Participant 2","Participant 3","Participant 4","Participant 5"],(participants))
  26.  
  27.     team.addConstraint(AllDifferentConstraint())
  28.     team.addConstraint(ExactSumConstraint(100.0),variables)
  29.     result = team.getSolution()
  30.     if(result is None):
  31.         print("None")
  32.     else:
  33.         total_score=0
  34.         for i in range(len(result)):
  35.             total_score+=list(result.values())[i]
  36.         print(f'Total score: {total_score}')
  37.  
  38.         for i in range(len(result)):
  39.             if i == 0:
  40.                 print(f'{list(result.keys())[i]}: {list(team_leaders_list.values())[list(team_leaders_list).index(str(list(result.values())[i]))]}')
  41.             else:
  42.                 print(f'{list(result.keys())[i]}: {list(participants_list.values())[list(participants_list).index(str(list(result.values())[i]))]}')
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement