实在不知道哪里错了。。。求大牛帮助
查看原帖
实在不知道哪里错了。。。求大牛帮助
35695
ZXYAC楼主2021/8/26 15:41
using namespace std;
int n,score=0,p;
int a[15],shu[15],xie1[30],xie2[15];
void print()
{
    int j;
        for (j = 1; j <= n; j++)
                cout << a[j]<< ' ';
        cout << '\n';

}

void search(int i)
{
    if (i == n+1)
    {
        score++;
        if (score <= 3) print();        
        return;
    }
    else
    {
        for (p=1; p <= n; p++)
        {if (!shu[p]&&!xie1[p+i]&&!xie2[p-i+n])
        {
                a[i] = p;
                shu[p] = 1;
                xie1[p + i] = 1;
                xie2[p - i + n] = 1;
                search(i + 1);
                //a[i] = 0;
                shu[p] = 0;
                xie1[p + i] = 0;
                xie2[p - i + n] = 0; 
        }
        }

    }
}
int main()
{
    cin >> n;
    search(1);
    cout << score;
    return 0;
 }```
2021/8/26 15:41
加载中...