悬赏关注
查看原帖
悬赏关注
747142
OIer_hzn楼主2023/2/7 20:05

RE

36

//
//  main.cpp
//  IDE
//
//  Created by aa on 2022/12/30.
//
//
//
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
#include <queue>
#include <cstdio>
using namespace std;
#define ll long long
//#pragma G++ optimize(2)
//#pragma G++ optimize(3)
void inp_io(){
    std::ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}
const ll N=105;
int fx[20]={-1,0,1,0,-1,1,1,-1};
int fy[20]={0,1,0,-1,1,-1,1,-1};
bool vis[N][N];
int a[N][N];
int b[N];
ll n,m,len;
ll ans=0;
int k=0;
// insert code here...
void dfs(int step){
    if(step==n+1){
        k++;
        for(int i=1;i<=n;i++){
            a[k][i]=b[i];
        }
        return;
    }
    for(int i=1;i<=n;i++){
        if(vis[0][i]==0&&vis[1][step+i]==0&&vis[2][step-i+8]==0){
            vis[0][i]=1;
            vis[1][step+i]=1;
            vis[2][step-i+8]=1;
            b[step]=i;
            dfs(step+1);
            vis[0][i]=0;
            vis[1][step+i]=0;
            vis[2][step-i+8]=0;
        }
    }
}
//void inp(){
//    cin>>n;
//}
//void work(){
//    dfs(1);
//    while(n--){
//        int t;
//        cin>>t;
//        for(int i=1;i<=8;i++){
//            cout<<a[t][i];
//        }
//        cout<<endl;
//    }
//}
int main(){
    //inp_io();
    //inp();
    //work();
    cin>>n;
    dfs(1);
    for(int t=1;t<=3;t++){
        for(int i=1;i<=n;i++){
            cout<<a[t][i]<<" ";
        }
        cout<<endl;
    }
    cout<<k<<endl;
    return 0;
}

2023/2/7 20:05
加载中...