题解 | #小A与小B#

小A与小B

https://ac.nowcoder.com/acm/problem/23486

#include <bits/stdc++.h>

using namespace std; const int maxn=1e5+5; int n,ans=0; int a[maxn]; int col[maxn],row[maxn],line[maxn],rline[maxn]; void DFS(int k){ if(k==n+1){ if(ans<3){ for(int i=1;i<=n;i++){ cout<<a[i]<<" "; } cout<<endl; } ans++; return ; } for(int j=1;j<=n;j++){ if(col[j]==0&&row[j]==0&&line[j+k]==0&&rline[k-j+n]==0){ a[k]=j; col[j]=row[j]=1; line[j+k]=rline[k-j+n]=1; DFS(k+1); col[j]=row[j]=0; line[j+k]=rline[k-j+n]=0;

    }
}

} int main() { cin>>n; DFS(1); cout<<ans; return 0; }

全部评论

相关推荐

牛客383479252号:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务