백준 17142번 연구소3 (JAVA)
로직 바이러스를 놓을 수 있는 위치에 M개 만큼 바이러스를 놓는 경우의 수를 조합으로 탐색한다음, bfs를 통해 최소 시간을 연산하는 문제 전형적인 완탐 문제이다. 1. 활성 바이러스를 둘 위치를 조합으로 구한다. private static void virusActive(int pos, int cnt) { if (pos == virusArr.size()) { if (cnt == M) { int ans = bfs(); if (ans != -1) { min = Math.min(min, ans); } } return; } field[virusArr.get(pos).x][virusArr.get(pos).y] = 2; stack.push(virusArr.get(pos)); virusActive(pos + 1, c..