Exploration à l'aide d'itertools Dans de nombreux cas, la recherche de bits complets est recommandée pour la recherche, mais je pense qu'il est fondamentalement plus pratique d'utiliser itertools pour Python. Résumé de toutes les énumérations qui peuvent être faites avec itertools en Python
Exemple de code
import itertools
N, M, X = list(map(int, input().split()))
a = [list( map( int, input().split() ) ) for i in range(N)]
for x in itertools.product([0,1], repeat=2):
cost = 0
level = [] * M
judge = True
ans = 1234567
for i in range(N):
if a[i] == 1:
cost += a[i][0]
level = [y + z for (y, z) in zip(level, a[i][1:])]
for j in range(M):
if any(level[k] < x for k in range(M)):
judge = False
if judge:
ans = min(ans, cost)
if ans == 1234567:
print(-1)
else:
print(ans)
Recommended Posts