from itertools import combinations
MAX=int(1e9)
n,m=map(int,input().split())
a=[list(map(int,input().split())) for _ in range(n)] # 0 : 빈칸, 1 : 사람, 2 : 병원
ans=MAX
# 사람,병원 위치 찾기
p,h=[],[]
for x in range(n):
for y in range(n):
if a[x][y]==2:
h.append([x+1,y+1])
elif a[x][y]==1:
p.append([x+1,y+1])
for comb in combinations(h,m):
s=0
for px,py in p:
dist = MAX
for hx,hy in comb:
d=abs(px-hx)+abs(py-hy)
dist=min(dist,d)
s+=dist
ans=min(ans,s)
print(ans)
'코딩 테스트 > 삼성 기출' 카테고리의 다른 글
2018하_바이러스 실험(백준. 16235.나무 재테크) (0) | 2024.06.23 |
---|---|
2017하_돌아가는 팔각의자(백준. 14891.톱니바퀴) (0) | 2024.06.22 |
2018상_드래곤 커브(백준. 15685.드래곤 커브) (0) | 2024.06.22 |
2018상_이상한 체스(백준 15684.사다리 조작) (1) | 2024.06.16 |
2018상_디버깅(백준 15684.사다리 조작.py) (1) | 2024.06.16 |