-
#1767. [SW Test 샘플문제] 프로세서 연결하기Code/swea 2020. 3. 12. 18:34728x90반응형
출처:https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf
풀이
dfs를 통해 구현.
가장자리에 붙어있는 프로세서는 무조건 전선길이가 0이므로 제외를 시켜준다. 그리고 나머지 프로세서들 중에서 전선배치를 완전탐색으로 구현하였다. 그냥 전선을 설치하지 않고 넘어가거나 각 방향별로 전선을 설치한 후 다음 dfs로 넘겨주는 방식으로 구현하였다. 전선을 설치하지 않을시 realcnt를 증가시키지 않고, turn횟수인 cnt값만 증가시켰으며
전선을 설치시 cnt와 realcnt를 모두 증가시켰다. 그리고 dfs입력 변수로 현재까지 설치한 전선 길이의 합을 계속해서 다음턴으로 넘겨준다. 그래서 cnt값이 총 프로세서개수와 같아지면 각 realcnt에 대한 전선길이 최솟값을 저장하는 배열에 그 값을 최솟값으로 갱신시켜서 보관한다. 그리고 시간초과를 줄이는 핵심이 있다. 여태까지 연결시킨 프로세서 수 + 앞으로 남은 프로세서 개수가 과거에 탐색을 완료했던 realcnt의 최댓값보다 작으면 탐색을 할필요가 없으므로 리턴시켜주면 시간을 10배 이상 줄일 수 있다.
코드
728x90반응형'Code > swea' 카테고리의 다른 글
#2112. [모의 SW 역량테스트] 보호 필름 (0) 2020.03.23 #2477. [모의 SW 역량테스트] 차량 정비소 (0) 2020.03.12 #1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) 2020.03.12 #2383. [모의 SW 역량테스트] 점심 식사시간 (0) 2020.02.09 #5644. [모의 SW 역량테스트] 무선 충전 (0) 2020.01.03