[백준] 14889 스타트와 링크 - Backtracking / Java
• 문제 링크 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { static int n; static int[][] stat; s..
2022. 9. 18.
[백준] 17471 게리맨더링 - Brute Force / Java
• 문제 링크 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net • 풀이 과정 각 구역의 번호를 인덱스로 지정하는 value 배열에 인구 값을 입력받고, 인접행렬에 각 구역과 인접한 구역의 정보를 입력받아 인접할 시 1로 저장한다. 구역을 둘로 나누기 위해 한 구역은 subset 배열의 true, 다른 한 구역은 false 로 나타내며, 재귀 함수(recur) 를 통해 구역을 둘로 나누는 모든 경우의 수를 각 구역의 값의 합을 누적하며 구한다. 경우의 수가 구해지면, 매개변수를 true 또는 false 로 전달받는 isConnecte..
2022. 9. 14.