[백준 1799번] 비숍 (C++)
·
📚알고리즘/백준
https://www.acmicpc.net/problem/1799 N-Queen하고 사실상 똑같은 문제라고 생각한다.N-Queen에서는 퀸이 한 열에 한개밖에 못놓는 것을 기준으로 재귀를 돌렸다.비숍은 한 열에는 여러개가 올 수 있고 각 대각선에 한개씩 밖에 못오기 때문에 대각선을 기준으로 재귀를 돌리면 된다. 우상향 대각선을 기준으로 재귀를 돌렸고 어느 대각선을 기준으로 잡는지는 당연히 상관이 없다.그림으로 보면 다음과 같이 탐색했다.특정 칸에 도착했을 때 그 칸이 비숍이 놓을 수 있는 자리이고 화살표 방향과 수직인 대각선상에 다른 비숍이 없다면 비숍을 놓으면서 탐색해나가면 된다. 대각선을 구분하는 방법은 N-Queen포스팅 때 했지만 저 2n-1개의 대각선을 각각 인덱싱한다.대각선으로 해당하는 모든 ..