백준 9663 자바스크립트

    [백준] 9663번 N-Queen - JavaScript(NodeJS)

    [백준] 9663번 N-Queen - JavaScript(NodeJS)

    문제 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 가장 중요한 문제의 조건은 퀸의 움직임이다. 퀸은 한 번 움직일 때 자기 위치에서 상하좌우+대각선 중 한 방향으로 무한정 이동 가능하다. 따라서 퀸이 서로 공격을 할 수 없는 예시를 그려보면 아래 그림과 같다. 이외에도 여러 경우가 있을테니, N이 주어졌을 때 퀸을 놓는 경우의 수를 구하면 된다. 풀이 방향 퀸의 움직임을 알고나면 문제가 쉬워진다. N개를 배치해야 하므로 DFS를 이용해 문제를 풀어보자. DFS에서 N x N를 모두 조회할 필요는 없다. 퀸은 서로 다..