全部评论 1

  • #include<bits/stdc++.h>
    using namespace std;
    int n;
    int ans[14],te[3][100]={0},da=0;
    void bfs(int line)
    {
    if(line>n)
    {
    da++;
    if(da<=3)
    {
    for(int i=1;i<=n;i++)
    cout<<ans[i]<<" ";
    cout<<endl;
    }
    return;
    }
    for(int i=1;i<=n;i++)
    {
    if((!(te[0][i]))&&(!(te[1][i+line]))&&(!(te[2][i-line+n])))
    {
    ans[line]=i;
    te[0][i]=1,te[1][i+line]=1,te[2][i-line+n]=1;
    bfs(line+1);
    te[0][i]=0,te[1][i+line]=0,te[2][i-line+n]=0;
    }
    }
    }
    int main()
    {
    cin>>n;
    bfs(1);
    cout<<da;
    return 0;
    }

    2026-07-19 来自 广东

    0

热门讨论