17779번 - 게리맨더링 2
dfs를 통해서 구현을 했구요
예를들어 사이즈가 6인 경우를 출력할 경우 다음과 같이 탐색을 하여 선거구를 나눠줍니다.
모든 경우를 고려하여 선거구를 구하고 최솟값을 구해줬는데 어디서 틀린지 모르겠습니다 ㅠ
주석을 풀면 탐색을 진행하면서 매 경우마다 원하는 배열을 출력할 수 있습니다.
61 2 3 4 1 67 8 9 1 4 22 3 4 1 1 36 6 6 6 9 49 1 9 1 9 51 1 1 1 9 9color1 0 2 2 2 20 0 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 0 03 3 3 3 0 4color1 0 2 2 2 20 0 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 4 43 3 3 4 4 4color1 0 2 2 2 20 0 0 2 2 23 0 0 0 2 23 3 0 4 4 43 3 4 4 4 43 3 4 4 4 4color1 0 2 2 2 20 0 0 2 2 23 0 4 4 4 43 4 4 4 4 43 4 4 4 4 43 4 4 4 4 4color1 1 0 2 2 21 0 0 0 2 20 0 0 0 0 23 0 0 0 0 03 3 0 0 0 43 3 3 0 4 4color1 1 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 0 03 3 3 3 0 43 3 3 3 4 4color1 1 0 2 2 21 0 0 0 2 20 0 0 0 0 23 0 0 0 4 43 3 0 4 4 43 3 4 4 4 4color1 1 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 4 43 3 3 4 4 43 3 3 4 4 4color1 1 0 2 2 21 0 0 0 2 20 0 0 4 4 43 0 4 4 4 43 4 4 4 4 43 4 4 4 4 4color1 1 0 2 2 23 0 0 0 2 23 3 0 4 4 43 3 4 4 4 43 3 4 4 4 43 3 4 4 4 4color1 1 1 0 2 21 1 0 0 0 21 0 0 0 0 00 0 0 0 0 43 0 0 0 4 43 3 0 4 4 4color1 1 1 0 2 21 1 0 0 0 23 0 0 0 0 03 3 0 0 0 43 3 3 0 4 43 3 3 4 4 4color1 1 1 0 2 23 3 0 0 0 23 3 3 0 0 03 3 3 3 0 43 3 3 3 4 43 3 3 3 4 4color1 1 1 0 2 21 1 0 0 0 21 0 0 0 4 40 0 0 4 4 43 0 4 4 4 43 4 4 4 4 4color1 1 1 0 2 21 1 0 0 0 23 0 0 0 4 43 3 0 4 4 43 3 4 4 4 43 3 4 4 4 4color1 1 1 0 2 23 3 0 0 0 23 3 3 0 4 43 3 3 4 4 43 3 3 4 4 43 3 3 4 4 4color1 1 1 1 0 21 1 1 0 0 01 1 0 0 0 41 0 0 0 4 40 0 0 4 4 43 0 4 4 4 4color1 1 1 1 0 21 1 1 0 0 01 1 0 0 0 43 0 0 0 4 43 3 0 4 4 43 3 4 4 4 4color1 1 1 1 0 21 1 1 0 0 03 3 0 0 0 43 3 3 0 4 43 3 3 4 4 43 3 3 4 4 4color1 1 1 1 0 23 3 3 0 0 03 3 3 3 0 43 3 3 3 4 43 3 3 3 4 43 3 3 3 4 4color1 1 2 2 2 21 0 2 2 2 20 0 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 4 4color1 1 2 2 2 21 0 2 2 2 20 0 0 2 2 23 0 0 0 2 23 3 0 4 4 43 3 4 4 4 4color1 1 2 2 2 21 0 2 2 2 20 0 0 2 2 23 0 4 4 4 43 4 4 4 4 43 4 4 4 4 4color1 1 1 2 2 21 1 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 0 03 3 3 3 0 4color1 1 1 2 2 21 1 0 2 2 21 0 0 0 2 20 0 0 0 0 23 0 0 0 4 43 3 0 4 4 4color1 1 1 2 2 21 1 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 4 43 3 3 4 4 4color1 1 1 2 2 21 1 0 2 2 21 0 0 0 2 20 0 0 4 4 43 0 4 4 4 43 4 4 4 4 4color1 1 1 2 2 21 1 0 2 2 23 0 0 0 2 23 3 0 4 4 43 3 4 4 4 43 3 4 4 4 4color1 1 1 1 2 21 1 1 0 2 21 1 0 0 0 23 0 0 0 0 03 3 0 0 0 43 3 3 0 4 4color1 1 1 1 2 21 1 1 0 2 23 3 0 0 0 23 3 3 0 0 03 3 3 3 0 43 3 3 3 4 4color1 1 1 1 2 21 1 1 0 2 21 1 0 0 0 21 0 0 0 4 40 0 0 4 4 43 0 4 4 4 4color1 1 1 1 2 21 1 1 0 2 21 1 0 0 0 23 0 0 0 4 43 3 0 4 4 43 3 4 4 4 4color1 1 1 1 2 21 1 1 0 2 23 3 0 0 0 23 3 3 0 4 43 3 3 4 4 43 3 3 4 4 4color1 1 1 1 1 21 1 1 1 0 21 1 1 0 0 01 1 0 0 0 43 0 0 0 4 43 3 0 4 4 4color1 1 1 1 1 21 1 1 1 0 21 1 1 0 0 03 3 0 0 0 43 3 3 0 4 43 3 3 4 4 4color1 1 1 1 1 21 1 1 1 0 23 3 3 0 0 03 3 3 3 0 43 3 3 3 4 43 3 3 3 4 4color1 1 2 2 2 21 1 2 2 2 21 0 2 2 2 20 0 0 2 2 23 0 0 0 2 23 3 0 4 4 4color1 1 2 2 2 21 1 2 2 2 21 0 2 2 2 20 0 0 2 2 23 0 4 4 4 43 4 4 4 4 4color1 1 1 2 2 21 1 1 2 2 21 1 0 2 2 23 0 0 0 2 23 3 0 0 0 23 3 3 0 4 4color1 1 1 2 2 21 1 1 2 2 21 1 0 2 2 21 0 0 0 2 20 0 0 4 4 43 0 4 4 4 4color1 1 1 2 2 21 1 1 2 2 21 1 0 2 2 23 0 0 0 2 23 3 0 4 4 43 3 4 4 4 4color1 1 1 1 2 21 1 1 1 2 21 1 1 0 2 23 3 0 0 0 23 3 3 0 0 03 3 3 3 0 4color1 1 1 1 2 21 1 1 1 2 21 1 1 0 2 21 1 0 0 0 23 0 0 0 4 43 3 0 4 4 4color1 1 1 1 2 21 1 1 1 2 21 1 1 0 2 23 3 0 0 0 23 3 3 0 4 43 3 3 4 4 4color1 1 1 1 1 21 1 1 1 1 21 1 1 1 0 21 1 1 0 0 03 3 0 0 0 43 3 3 0 4 4color1 1 1 1 1 21 1 1 1 1 21 1 1 1 0 23 3 3 0 0 03 3 3 3 0 43 3 3 3 4 4color1 1 2 2 2 21 1 2 2 2 21 1 2 2 2 21 0 2 2 2 20 0 0 2 2 23 0 4 4 4 4color1 1 1 2 2 21 1 1 2 2 21 1 1 2 2 21 1 0 2 2 23 0 0 0 2 23 3 0 4 4 4color1 1 1 1 2 21 1 1 1 2 21 1 1 1 2 21 1 1 0 2 23 3 0 0 0 23 3 3 0 4 4color1 1 1 1 1 21 1 1 1 1 21 1 1 1 1 21 1 1 1 0 23 3 3 0 0 03 3 3 3 0 418
댓글을 작성하려면 로그인해야 합니다.
goodjaeheui 4년 전
dfs를 통해서 구현을 했구요
예를들어 사이즈가 6인 경우를 출력할 경우 다음과 같이 탐색을 하여 선거구를 나눠줍니다.
모든 경우를 고려하여 선거구를 구하고 최솟값을 구해줬는데 어디서 틀린지 모르겠습니다 ㅠ
주석을 풀면 탐색을 진행하면서 매 경우마다 원하는 배열을 출력할 수 있습니다.
6
1 2 3 4 1 6
7 8 9 1 4 2
2 3 4 1 1 3
6 6 6 6 9 4
9 1 9 1 9 5
1 1 1 1 9 9
color
1 0 2 2 2 2
0 0 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 0 0
3 3 3 3 0 4
color
1 0 2 2 2 2
0 0 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
3 3 3 4 4 4
color
1 0 2 2 2 2
0 0 0 2 2 2
3 0 0 0 2 2
3 3 0 4 4 4
3 3 4 4 4 4
3 3 4 4 4 4
color
1 0 2 2 2 2
0 0 0 2 2 2
3 0 4 4 4 4
3 4 4 4 4 4
3 4 4 4 4 4
3 4 4 4 4 4
color
1 1 0 2 2 2
1 0 0 0 2 2
0 0 0 0 0 2
3 0 0 0 0 0
3 3 0 0 0 4
3 3 3 0 4 4
color
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 0 0
3 3 3 3 0 4
3 3 3 3 4 4
color
1 1 0 2 2 2
1 0 0 0 2 2
0 0 0 0 0 2
3 0 0 0 4 4
3 3 0 4 4 4
3 3 4 4 4 4
color
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
3 3 3 4 4 4
3 3 3 4 4 4
color
1 1 0 2 2 2
1 0 0 0 2 2
0 0 0 4 4 4
3 0 4 4 4 4
3 4 4 4 4 4
3 4 4 4 4 4
color
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 4 4 4
3 3 4 4 4 4
3 3 4 4 4 4
3 3 4 4 4 4
color
1 1 1 0 2 2
1 1 0 0 0 2
1 0 0 0 0 0
0 0 0 0 0 4
3 0 0 0 4 4
3 3 0 4 4 4
color
1 1 1 0 2 2
1 1 0 0 0 2
3 0 0 0 0 0
3 3 0 0 0 4
3 3 3 0 4 4
3 3 3 4 4 4
color
1 1 1 0 2 2
3 3 0 0 0 2
3 3 3 0 0 0
3 3 3 3 0 4
3 3 3 3 4 4
3 3 3 3 4 4
color
1 1 1 0 2 2
1 1 0 0 0 2
1 0 0 0 4 4
0 0 0 4 4 4
3 0 4 4 4 4
3 4 4 4 4 4
color
1 1 1 0 2 2
1 1 0 0 0 2
3 0 0 0 4 4
3 3 0 4 4 4
3 3 4 4 4 4
3 3 4 4 4 4
color
1 1 1 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
3 3 3 4 4 4
3 3 3 4 4 4
3 3 3 4 4 4
color
1 1 1 1 0 2
1 1 1 0 0 0
1 1 0 0 0 4
1 0 0 0 4 4
0 0 0 4 4 4
3 0 4 4 4 4
color
1 1 1 1 0 2
1 1 1 0 0 0
1 1 0 0 0 4
3 0 0 0 4 4
3 3 0 4 4 4
3 3 4 4 4 4
color
1 1 1 1 0 2
1 1 1 0 0 0
3 3 0 0 0 4
3 3 3 0 4 4
3 3 3 4 4 4
3 3 3 4 4 4
color
1 1 1 1 0 2
3 3 3 0 0 0
3 3 3 3 0 4
3 3 3 3 4 4
3 3 3 3 4 4
3 3 3 3 4 4
color
1 1 2 2 2 2
1 0 2 2 2 2
0 0 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
color
1 1 2 2 2 2
1 0 2 2 2 2
0 0 0 2 2 2
3 0 0 0 2 2
3 3 0 4 4 4
3 3 4 4 4 4
color
1 1 2 2 2 2
1 0 2 2 2 2
0 0 0 2 2 2
3 0 4 4 4 4
3 4 4 4 4 4
3 4 4 4 4 4
color
1 1 1 2 2 2
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 0 0
3 3 3 3 0 4
color
1 1 1 2 2 2
1 1 0 2 2 2
1 0 0 0 2 2
0 0 0 0 0 2
3 0 0 0 4 4
3 3 0 4 4 4
color
1 1 1 2 2 2
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
3 3 3 4 4 4
color
1 1 1 2 2 2
1 1 0 2 2 2
1 0 0 0 2 2
0 0 0 4 4 4
3 0 4 4 4 4
3 4 4 4 4 4
color
1 1 1 2 2 2
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 4 4 4
3 3 4 4 4 4
3 3 4 4 4 4
color
1 1 1 1 2 2
1 1 1 0 2 2
1 1 0 0 0 2
3 0 0 0 0 0
3 3 0 0 0 4
3 3 3 0 4 4
color
1 1 1 1 2 2
1 1 1 0 2 2
3 3 0 0 0 2
3 3 3 0 0 0
3 3 3 3 0 4
3 3 3 3 4 4
color
1 1 1 1 2 2
1 1 1 0 2 2
1 1 0 0 0 2
1 0 0 0 4 4
0 0 0 4 4 4
3 0 4 4 4 4
color
1 1 1 1 2 2
1 1 1 0 2 2
1 1 0 0 0 2
3 0 0 0 4 4
3 3 0 4 4 4
3 3 4 4 4 4
color
1 1 1 1 2 2
1 1 1 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
3 3 3 4 4 4
3 3 3 4 4 4
color
1 1 1 1 1 2
1 1 1 1 0 2
1 1 1 0 0 0
1 1 0 0 0 4
3 0 0 0 4 4
3 3 0 4 4 4
color
1 1 1 1 1 2
1 1 1 1 0 2
1 1 1 0 0 0
3 3 0 0 0 4
3 3 3 0 4 4
3 3 3 4 4 4
color
1 1 1 1 1 2
1 1 1 1 0 2
3 3 3 0 0 0
3 3 3 3 0 4
3 3 3 3 4 4
3 3 3 3 4 4
color
1 1 2 2 2 2
1 1 2 2 2 2
1 0 2 2 2 2
0 0 0 2 2 2
3 0 0 0 2 2
3 3 0 4 4 4
color
1 1 2 2 2 2
1 1 2 2 2 2
1 0 2 2 2 2
0 0 0 2 2 2
3 0 4 4 4 4
3 4 4 4 4 4
color
1 1 1 2 2 2
1 1 1 2 2 2
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
color
1 1 1 2 2 2
1 1 1 2 2 2
1 1 0 2 2 2
1 0 0 0 2 2
0 0 0 4 4 4
3 0 4 4 4 4
color
1 1 1 2 2 2
1 1 1 2 2 2
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 4 4 4
3 3 4 4 4 4
color
1 1 1 1 2 2
1 1 1 1 2 2
1 1 1 0 2 2
3 3 0 0 0 2
3 3 3 0 0 0
3 3 3 3 0 4
color
1 1 1 1 2 2
1 1 1 1 2 2
1 1 1 0 2 2
1 1 0 0 0 2
3 0 0 0 4 4
3 3 0 4 4 4
color
1 1 1 1 2 2
1 1 1 1 2 2
1 1 1 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
3 3 3 4 4 4
color
1 1 1 1 1 2
1 1 1 1 1 2
1 1 1 1 0 2
1 1 1 0 0 0
3 3 0 0 0 4
3 3 3 0 4 4
color
1 1 1 1 1 2
1 1 1 1 1 2
1 1 1 1 0 2
3 3 3 0 0 0
3 3 3 3 0 4
3 3 3 3 4 4
color
1 1 2 2 2 2
1 1 2 2 2 2
1 1 2 2 2 2
1 0 2 2 2 2
0 0 0 2 2 2
3 0 4 4 4 4
color
1 1 1 2 2 2
1 1 1 2 2 2
1 1 1 2 2 2
1 1 0 2 2 2
3 0 0 0 2 2
3 3 0 4 4 4
color
1 1 1 1 2 2
1 1 1 1 2 2
1 1 1 1 2 2
1 1 1 0 2 2
3 3 0 0 0 2
3 3 3 0 4 4
color
1 1 1 1 1 2
1 1 1 1 1 2
1 1 1 1 1 2
1 1 1 1 0 2
3 3 3 0 0 0
3 3 3 3 0 4
18