题目: 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);
}

每天时间紧啊 我心里苦啊