[백준 - 17135] 캐슬 디펜스
궁수 위치 조합을 모두 만들고, 매 조합을 독립적으로 시뮬레이션한 풀이.
2022년 8월 23일
궁수 세 명의 위치를 고르면 그 뒤 게임 진행은 완전히 정해진다. 그래서 열 중 세 곳을 조합으로 선택하고, 선택할 때마다 원본 맵을 복사해 한 턴씩 시뮬레이션했다.
각 궁수는 거리 제한 안에서 가까운 적을 찾고, 거리가 같으면 왼쪽 적을 선택해야 한다. 구현에서는 거리와 열을 왼쪽부터 확인해 이 우선순위를 반영했다. 같은 적을 여러 궁수가 고를 수 있으므로, 이번 턴에 이미 처리한 적은 별도 값으로 표시해 중복 제거도 했다.
핵심은 모든 궁수 배치의 수가 작다는 점을 이용해 배치 조합과 게임 시뮬레이션을 분리한 것이다.
문제: 17135 캐슬 디펜스 · 코드: GitHub에서 보기