백준 문제 풀이
백준 15686 파이썬 python : 치킨 배달 @@황소처럼 우직하게@@ 치킨 먹고싶어
hjp845
2020. 4. 23. 14:03
반응형
2 의 13승은 작은 숫자 베이베
import sys
import itertools
input = sys.stdin.readline
n, m = map(int, input().split())
mat = []
for i in range(n):
mat.append(list(map(int, input().split())))
homes = []
chickens = []
for i in range(n):
for j in range(n):
if mat[i][j] == 1:
homes.append([i, j])
elif mat[i][j] == 2:
chickens.append([i, j])
combi = [i for i in range(len(chickens))]
combi = list(itertools.combinations(combi, m))
# print(combi)
ans = 999999999
for case in combi:
dist = [999999999 for i in range(len(homes))]
for i in case: # 치킨 번호
for j in range(len(homes)):
dist[j] = min(dist[j], abs(homes[j][0] - chickens[i][0]) + abs(homes[j][1] - chickens[i][1]))
ans = min(ans, sum(dist))
print(ans)
반응형