-
백준(BOJ) 17135번 캐슬 디펜스알고리즘 풀이/백준(Boj) 2019. 11. 13. 23:11
문제 : https://www.acmicpc.net/problem/17135
풀이 :
1. 맨 마지막 칸은 m개의 자리 중 3개의 궁수를 골라야 한다. 따라서 picked 배열을 이용해서
m개의 수중 3개를 뽑아서 궁수 표시를 해주자.
2. 궁수들은 쏠때 한 적을 여러 명이 공격할 수 있으므로 각각 공격이 아닌 한 번에 조준해서 발사하도록 하자.
이때 중복된 적은 1번만 세준다.
3. 조준할 때는 거리가 같다면 가장 왼쪽에 있는 적을 골라야 한다. 따라서 compare 함수를 이용해서
거리가 같다면 x값을 비교하고 거리가 다르다면 짧은 거리를 택하는 함수를 만들자.
그 후 조준 좌표를 담는 배열에 넣어준다.
4. 1에서 고른 궁수들로 2-3을 반복한 다음 board에 적들이 없으면 값을 반환한다.
코드(C++)
'알고리즘 풀이 > 백준(Boj)' 카테고리의 다른 글
백준(BOJ) 16234번 인구 이동 (0) 2019.11.22 백준(BOJ) 14890번 경사로 (0) 2019.11.16 백준(BOJ) 16948번 데스 나이트 (0) 2019.11.07 백준(BOJ) 16926번 배열 돌리기 1 (0) 2019.11.04 백준(BOJ) 16928번 뱀과 사다리 게임 (31) 2019.11.01