SWEA/삼성SW역량테스트 C++

[SW Test 샘플문제] 프로세서 연결하기

IamToday 2020. 4. 15. 22:51

* dfs 조합을 이용해서 최대한 많은 core들을 연결했을 때 최소 전선의 길이를 구한다. 

* 맵의 사이드에 있는 코어들은 이미 연결되어있기 때문에 cores에는 그 외의 코어들을 넣는다. 

* dfs(idx, cnt)에서는 코어들을 조합을 확인하면서 백트래킹한다. 

*

check(x, y, d) : x, y 좌표에 있는 코어가 d방향으로 연결될 수 있으면 T, 아니면 F

doConnect(x, y, d) : check() 가 T라면 연결한다. (chk 배열에 방문표시)

doDisConnect(x, y, d) : 원상 복귀 (백트래킹)