n皇后问题
import java.util.*; public class Queens { int total=0; public int nQueens(int n) { int[][] vis=new int[3][n<<1]; search(0,vis,n); return total; } private void search(int cur, int[][] vis,int n) { if(cur==n){ total++; return; } for(int i=0;i<n;i++){ if(vis[0][i]==0&&vis[1][cur+i]==0&&vis[2][cur-i+n]==0){ vis[0][i]=vis[1][cur+i]=vis[2][cur-i+n]=1; search(cur+1,vis,n); vis[0][i]=vis[1][cur+i]=vis[2][cur-i+n]=0; } } } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步