[Baekjoon-Python] 17779 : 게리맨더링 2
https://www.acmicpc.net/problem/17779 접근 x, y 좌표에 따라 경계의 길이 d1, d2를 1씩 증가시키며 경계선을 그린다. 1 ~ 4번 선거구별 인구 수를 구한다. 5번 선거구의 인구 수는 총 인구 수에서 1 ~ 4번 선거구별 인구 수의 합을 뺀다. 풀이 from sys import stdin def get_wards(r, c, d1, d2) -> list: wards = [0] * 5 boundary = draw_boundary(r, c, d1, d2) wards[0] = sum_ward(boundary, 0, r + d1, 0, c + 1, 1, 1) # (1) wards[1] = sum_ward(boundary, 0, r + d2 + 1, n - 1, c, 1, -1..
2024. 1. 21.
[Baekjoon-Python] 17825 : 주사위 윷놀이
https://www.acmicpc.net/problem/17825 접근 게임판을 아래와 같이 설정한다. r = 0: 10, 20, 30에 말이 놓이지 않았을 때 이동하는 칸이다. r = 1: r = 0에서 10에 말이 놓였을 때 이동하는 칸이다. r = 2: r = 0에서 20에 말이 놓였을 때 이동하는 칸이다. r = 3: r = 0에서 30에 말이 놓였을 때 이동하는 칸이다. r = 4: r = 0, 1, 2, 3, 5에서 40에 말이 놓였을 때 이동하는 칸이다. r = 5: r = 1, 2, 3에서 25, 30, 35에 말이 놓였을 때 이동하는 칸이다. 말이 이동한 좌표에 따라 게임판의 인덱스를 조정하고 dfs 탐색한다. 풀이 from sys import stdin def dfs(i, record..
2024. 1. 21.