#include <iostream>
using namespace std;
int total = 0;
const int n = 8;
int col[n];
void search(int cur)
{
if (cur == n)
{
total++;
}
else
{
for (int i = 0; i < n; i++)
{
int ok = 1;
col[cur] = i;
for (int j = 0; j < cur; j++)
{
if (col[cur] == col[j] || cur-col[cur] == j-col[j] || cur+col[cur] == j+col[j])
{
ok = 0;
break;
}
}
if (ok)
{
search(cur+1);
}
}
}
}
int main(int argc, char* argv[])
{
search(0);
cout << total;
getchar();
return 0;
}
八皇后问题
最新推荐文章于 2023-07-07 14:04:01 发布