-
728x90반응형
출처: https://www.acmicpc.net/problem/2933
2933번: 미네랄
문제 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄이 저장되어 있으며, 던진 막대기가 미네랄을 파괴할 수도 있다. 동굴은 R행 C열로 나타낼 수 있으며, R×C칸으로 이루어져 있다. 각 칸은 비어있거나 미네랄을 포함하고 있으며, 네 방향 중 하나로 인접한 미네랄이 포함된 두 칸은 같은 클러스터이다. 창영은 동굴의 왼쪽에
www.acmicpc.net
문제에서 요구하는 사항을 구현하는 단순 구현 문제이다. 하지만 구현이 요소에 1.미네랄 깨기, 2. 그룹생성하기, 3.떠 있는 그룹 내리기 와 같이 요구사항이 조금 있어 정리를 하지 않고 무턱대고 구현을 했다가는 나중에 디버깅 오류 검출시 어떤부분에서 오류가 생겼는지 확인하기가 쉽지 않아진다. 그래서 알고리즘 순서를 다음과 같이 먼저 정해놓고 단계별로 디버깅을 하며 구현을 해나갔다.
알고리즘 순서
두 사람이 오른쪽 왼쪽 순서대로 창을 던진다.
1. 창을 던져 미네랄을 없앤다
2. 새롭게 그룹을 생성하고 '떠' 있으면 '내려준다.'
2-1. 내리는 과정 맨 밑바닥을 그룹 0or1로 추가해 타그룹의 미네랄(X)인 x,y좌표 비교해 그거리가 최소가 되는만큼 내려준다.
728x90반응형'Code > BOJ' 카테고리의 다른 글
#1019 책 페이지 (0) 2019.12.31 #1713 후보 추천하기 (0) 2019.12.31 #2213 트리의 독립집합 (0) 2019.12.30 #1102 발전소 (0) 2019.12.30 #17822 원판 돌리기 (0) 2019.12.25