1213:八皇后问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #define N 100 using namespace std; int a[N][N],b[N]; int vis[N][N]; int tot; int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; void dfs( int step) { if (step==8+1) { tot++; for ( int i=1;i<=8;i++) a[tot][i]=b[i]; return ; } for ( int i=1;i<=8;i++) { if (vis[0][i]==0&&vis[1][step+i]==0&&vis[2][step-i+8]==0) { vis[0][i]=1; vis[1][i+step]=1; vis[2][step-i+8]=1; b[step]=i; dfs(step+1); vis[0][i]=0; vis[1][i+step]=0; vis[2][step-i+8]=0; } } } int main() { dfs(1); for ( int t=1;t<=tot;t++) { printf ( "No. %d\n" ,t); for ( int i=1;i<=8;i++) { for ( int j=1;j<=8;j++) { if (a[t][j]==i) cout<< "1 " ; else cout<< "0 " ; } cout<<endl; } } return 0; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异