인프런 커뮤니티 질문&답변
5-L 문제가 이해가 안됩니다 ㅠ
작성
·
119
답변 1
0
큰돌
지식공유자
안녕하세요 유태님 ㅎㅎ
N = 4일 경우, 팀에 2명씩 속하기 때문에 arr[i][j] + arr[j][i] 차이의 최소값을 구하면 간단하게 풀어지는데요
-> 이 경우 a, b, c, d가 있을 때
a, b
a, c
a, d
b, c
b, d
c, d
이렇게 한그룹 경우의 수 설정하고 -> 그 외 팀은 자동으로 정해지는 것을 생각하시면 되는데요.
    if(b.size() == k){ 
        vector<int> start, link; 
        for(int i = 0; i < n; i++){
        	if(visited[i])start.push_back(i);
        	else link.push_back(i);
		} 
		ret = min(ret, go(start, link)); 
        return;
    }combi 함수를 보시면 한 팀을 visited 처리 -> 그 외 처리 이렇게 되는 것을 볼 수 있습니다.
N이 6일때도 이와 동일하게 생각하시면 됩니다.
감사합니다.





