문제 링크: https://www.acmicpc.net/problem/14889
백준 알고리즘 기초 2/2 530에서 4번째 - 14889번 스타트와 링크를 풀어보았다.
C++
Python
def dfs(l,idx):
global cnt
if l==n//2:
a=0
b=0
for i in range(n):
for j in range(n):
if visit[i] and visit[j]:
a+=arr[i][j]
elif not visit[i] and not visit[j]:
b+=arr[i][j]
cnt=min(cnt,abs(a-b))
return
for i in range(idx,n):
if not visit[i]:
visit[i]=True
dfs(l+1,i+1)
visit[i]=False
n=int(input())
arr=[list(map(int,input().split())) for i in range(n)]
visit=[False for i in range(n+1)]
cnt=1000000000000
dfs(0,0)
print(cnt)
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
부등호 풀이 (0) | 2023.01.31 |
---|---|
링크와 스타트 풀이 (0) | 2023.01.29 |
퇴사 풀이 (0) | 2023.01.29 |
암호 만들기 풀이 (0) | 2023.01.28 |
로또 풀이 (0) | 2023.01.28 |