-
백준(BOJ) 17779번 게리맨더링2알고리즘 풀이/백준(Boj) 2020. 1. 1. 16:31
문제 : https://www.acmicpc.net/problem/17779
17779번: 게리맨더링 2
재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 재현시로 변경했다. 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 재현시는 크기가 N×N인 격자로 나타낼 수 있다. 격자의 각 칸은 구역을 의미하고, r행 c열에 있는 구역은 (r, c)로 나타낼 수 있다. 구역을 다섯 개의 선거구로 나눠야 하고, 각 구역은 다
www.acmicpc.net
풀이 :
1.
- 우선 주어진 y, x와 d1, d2를 모르기 때문에 하나하나 다 해보아야 한다. 4중 for문을 이용해서
그냥 주어진 범위를 벗어난다면 바로 break 해주는 식으로 구현을 하였다.
2.
- 문제에 주어진 대로 경계선을 정한다면 5번으로 둘러싸여진 마름모 모양이 나올 것이고
1,2,3,4, 번 선거구를 범위에 맞게 넣어주어야 한다.
3.
- 각 선거구를 넣을 때는 1,3번 선거구는 5를 만나면 바로 다음 줄로 가고
2,4번은 같은 방법으로 할수 없으므로 맨 마지막부터 시작해서 5를 만나면 이전 줄로 가게 해주자
4
- 선거구를 넣어줄때 합도 같이 구해서 바로 차를 계산할 수 있게 해주자
코드 ( C++ )
'알고리즘 풀이 > 백준(Boj)' 카테고리의 다른 글
백준(BOJ) 16954번 움직이는 미로 탈출 (0) 2020.01.07 백준(BOJ) 매직 스퀘어로 변경하기 (0) 2020.01.01 백준(BOJ) 16956번 늑대와 양 (0) 2019.12.29 백준(BOJ) 16959번 체스판 여행 1 (0) 2019.12.26 백준(BOJ) 17822번 원판 돌리기 (0) 2019.12.23