# =================================== # Problème des vidéos par force brute # nsi.gecif.net # décembre 2024 # =================================== from itertools import * videos = [('Video 1', 114, 4.57), ('Video 2', 32, 0.630), ('Video 3', 20, 1.65), ('Video 4', 4, 0.085), ('Video 5', 18, 2.15), ('Video 6', 80, 2.71), ('Video 7', 5, 0.320)] tout_les_cas=list(permutations(videos)) print('Test des %d permutations en cours ...' % len(tout_les_cas)) temps_max=0 cle_max=[] for un_cas in tout_les_cas: # on met sur la clés les vidéos dans l'ordre indiqué : taille_restante=5 temps_total=0 cle_usb=[] for v in un_cas: # v : ('Video 1', 114, 4.57) # v[1] : la durée # v[2] : la taille en Go # la taille est en Go : if v[2]temps_max: temps_max=temps_total cle_max=cle_usb else: break # la clé est pleine print('Temps max : ',temps_max,' avec ',cle_max)