티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/12952
[프로그래머스][C++] N-Queen
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int answer = 0;
int arr[15];
bool check(int r) {
for (int i = 0; i < r; i++) {
if (arr[r] == arr[i] || abs(arr[r] - arr[i]) == abs(r - i))
return false;
}
return true;
}
void dfs(int r, int n) {
if (r == n) {
answer++;
return;
}
for (int i = 0; i < n; i++) {
arr[r] = i;
if (check(r))
dfs(r + 1, n);
}
}
int solution(int n) {
dfs(0, n);
return answer;
}
'Problem Solving' 카테고리의 다른 글
[Python] Range / Slice 예시 (0) | 2022.09.10 |
---|---|
[프로그래머스][C++] 가장 큰 수 (0) | 2022.06.28 |
[프로그래머스][C++] 행렬의 곱셈 (0) | 2022.06.27 |
[프로그래머스][C++] 하노이의 탑 (0) | 2022.06.26 |
[프로그래머스][C++] 땅따먹기 (0) | 2022.06.23 |
댓글