题目: n皇后。。。不多bb 直接贴代码了:
#include<cmath>
using namespace std;
int f[10];
int sum = 0;
int n;
bool c(int x)
{
for(int j = 1; j < x; j++)
{
if(f[j] == f[x])
return false;
if(abs(1.0*(f[j] - f[x])/(j - x)) == 1.0)
return false;
}
return true;
}
void solve(int x)
{
for(int i = 1; i <= n; i++)
{
f[x] = i;
if(c(x))
{
if( x == n)
sum++;
else
solve(x + 1);
}
}
}
int main()
{
scanf("%d",&n);
solve(1);
printf("%d",sum);
}
每天时间紧啊 我心里苦啊