add test data
This commit is contained in:
42
test/testcases/queens.c
Normal file
42
test/testcases/queens.c
Normal file
@ -0,0 +1,42 @@
|
||||
#include "io.inc"
|
||||
|
||||
int N = 8;
|
||||
int row[8];
|
||||
int col[8];
|
||||
int d[2][16];
|
||||
|
||||
void printBoard() {
|
||||
int i;
|
||||
int j;
|
||||
for (i = 0; i < N; i++) {
|
||||
for (j = 0; j < N; j++) {
|
||||
if (col[i] == j)
|
||||
printStr(" O");
|
||||
else
|
||||
printStr(" .");
|
||||
}
|
||||
printStr("\n");
|
||||
}
|
||||
printStr("\n");
|
||||
}
|
||||
|
||||
void search(int c) {
|
||||
if (c == N) {
|
||||
printBoard();
|
||||
} else {
|
||||
int r;
|
||||
for (r = 0; r < N; r++) {
|
||||
if (row[r] == 0 && d[0][r + c] == 0 && d[1][r + N - 1 - c] == 0) {
|
||||
row[r] = d[0][r + c] = d[1][r + N - 1 - c] = 1;
|
||||
col[c] = r;
|
||||
search(c + 1);
|
||||
row[r] = d[0][r + c] = d[1][r + N - 1 - c] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
search(0);
|
||||
return judgeResult % Mod; // 171
|
||||
}
|
Reference in New Issue
Block a user