C++
#include <cstdio>
using namespace std;
int q[17];
const int MAX_N = 17;
int cols[20],dp[MAX_N*2], dm[MAX_N*2];
int N,count_=0;
void serch(int turn){
if(turn==N){
count_++;
if(count_<=3){
for(int i=0;i<N;i++){
printf("%d ",q[i]);
}
printf("\n");
}
return;
}
for(int i=0;i<N;i++){
if(cols[i] || dp[turn + i] || dm[turn - i + N]){
continue;
}
q[turn]=i+1;
cols[i]=1;
dp[turn + i] = 1;
dm[turn - i + N] = 1;
serch(turn + 1);
cols[i]=0;
dp[turn + i] = 0;
dm[turn - i + N] = 0;
}
}
int main()
{
scanf("%d",&N);
serch(0);
printf("%d",count_);
return 0;
}
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 안내사항 | 관리자 | 2019.12.02 | 179 |
| 172 | 3703 | 관리자 | 2019.12.20 | 8 |
| 171 | 3701 | 관리자 | 2019.12.20 | 9 |
| » | 3520 | 관리자 | 2019.12.20 | 8 |
| 169 | 3120 | 관리자 | 2019.12.20 | 8 |
| 168 | 3023 | 관리자 | 2020.04.06 | 62 |
| 167 | 3022 | 관리자 | 2020.04.06 | 51 |
| 166 | 3021 | 관리자 | 2020.04.06 | 63 |
| 165 | 3009 | 관리자 | 2019.12.20 | 8 |
| 164 | 3008 | 관리자 | 2019.12.20 | 6 |
| 163 | 3007 | 관리자 | 2019.12.20 | 7 |
| 162 | 3006 | 관리자 | 2019.12.20 | 14 |
| 161 | 2748 | 관리자 | 2019.12.20 | 9 |
| 160 | 2657 | 관리자 | 2019.12.20 | 23 |
| 159 | 2652 | 관리자 | 2019.12.20 | 7 |
| 158 | 2641 | 관리자 | 2019.12.20 | 7 |
| 157 | 2634 | 관리자 | 2019.12.20 | 6 |
| 156 | 1953 | 관리자 | 2019.12.20 | 7 |
| 155 | 1936 | 관리자 | 2019.12.20 | 7 |
| 154 | 1925 | 관리자 | 2019.12.20 | 8 |
| 153 | 1525 | 관리자 | 2019.12.20 | 9 |
| 152 | 1505 | 관리자 | 2019.12.20 | 7 |
| 151 | 1476 | 관리자 | 2019.12.20 | 3 |
| 150 | 1162 | 관리자 | 2019.12.20 | 7 |
| 149 | 1161 | 관리자 | 2019.12.20 | 7 |
| 148 | 1160 | 관리자 | 2019.12.20 | 7 |
| 147 | 1159 | 관리자 | 2019.12.20 | 5 |
| 146 | 1158 | 관리자 | 2019.12.20 | 5 |
| 145 | 1157 | 관리자 | 2019.12.20 | 10 |
| 144 | 1156 | 관리자 | 2019.12.20 | 7 |
| 143 | 1155 | 관리자 | 2019.12.20 | 5 |