求助!!!

P1219 [USACO1.5] 八皇后 Checker Challenge

heyZZZ @ 2024-02-22 15:42:26

#include<bits/stdc++.h>
using namespace std;
int n,cnt,a[100],x[3][28];
void dfs(int pos){
    if(pos>n){
        if(cnt<3){
            for(int i=1;i<=n;i++) cout<<a[i]<<' ';
            cout<<'\n';
        }
        cnt++;
        return;
    }
    for(int i=1;i<=n;i++)
        if(!x[0][i]&&!x[1][pos+i]&&x[2][pos-i+n]){
            a[pos]=i;
            x[0][i]=1;
            x[1][pos+i]=1;
            x[2][pos-i+n]=1;
            dfs(pos+1);
            x[0][i]=0;
            x[1][pos+i]=0;
            x[2][pos-i+n]=0;
        }
}
int main(){
    cin>>n;
    dfs(1);
    cout<<cnt;
    return 0;
}

by heyZZZ @ 2024-02-22 15:42:57

全部输出0。


|