n皇后 洛谷p1219||tyvj1080

来源:互联网 发布:淘宝的支付方式 编辑:程序博客网 时间:2024/06/05 23:52

tyvj n=13的点t了……
洛谷ac
找出对角线规律就简单了……
水题不能a掉真是感人……
传送门https://www.luogu.org/problemnew/show/1219#sub

#include<bits/stdc++.h>using namespace std;int n,a[16]={0},ans=0,x1[40]={0},y[40]={0},res[16]={0};void dfs(int x){    if(x>n) {        ans++;        if(ans<=3)        {for(int i=1;i<=n-1;i++)            cout<<res[i]<<" ";            cout<<res[n]<<endl;}        return;//回溯     }    for(int i=1;i<=n;i++){//枚举列         if(x1[x+i]==0&&y[i-x+n]==0&&a[i]==0){//合法             if(ans<=3)                res[x]=i;            x1[x+i]=1;y[i-x+n]=1;a[i]=1;            dfs(x+1);            a[i]=0;x1[x+i]=0;y[i-x+n]=0;        }    }}int main(){    cin>>n;    dfs(1);    cout<<ans;    return 0;}
原创粉丝点击