N-Queens II
来源:互联网 发布:单片机 http请求 编辑:程序博客网 时间:2024/05/22 01:58
题目描述:
Follow up for N-Queens problem.
Now, instead outputting board configurations,
return the total number of distinct solutions.
思路:同N Queens一样,是一道题求的结果不同。
public class N_QueensTwo {public static int count=0;public static int solveNQueens(int n) { String board[][]=new String[n][n]; for(int i=0;i<n;i++) {for(int j=0;j<n;j++){board[i][j]=".";} } solve(board,n,0); return count; }public static void solve(String board[][],int n,int line) { if(line==n) { count++; } else {//对每一行的每一列进行枚举for(int i=0;i<n;i++){if(check(board,n,line,i)){board[line][i]="Q";}else{continue;}solve(board,n,line+1);board[line][i]=".";} } } public static boolean check(String board[][],int n,int line,int column) { for(int i=line-1;i>=0;i--) {if(board[i][column].equals("Q")){return false;} } for(int i=line-1,j=column-1;i>=0&&j>=0;i--,j--) { if(board[i][j].equals("Q")) { return false; } } for(int i=line-1,j=column+1;i>=0&&j<n;i--,j++) { if(board[i][j].equals("Q")) { return false; } }return true; }public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();System.out.println(solveNQueens(n));}}
阅读全文
1 0
- N-Queens && N-Queens II
- LeetCode: N-Queens II
- LeetCode : N-Queens II
- [Leetcode] N-Queens II
- N-Queens II
- 【leetcode】N-Queens II
- LeetCode: N Queens II
- [LeetCode]N-Queens II
- N-Queens II
- N-Queens II
- LeetCode - N-Queens II
- LeetCode:N-Queens II
- N-Queens II
- N-Queens II
- 【leetcode】N-Queens II
- LeetCode:N-Queens II
- Leetcode: N-Queens II
- leetcode N-Queens II
- 北京网信办整治自媒体八大乱象 腾讯网易凤凰在列
- Struts2学习总结(十):paramsPrepareParams拦截器栈
- linux 网卡对应网口查看方式
- echarts 实现柱状图左右横向显示
- 关于QT的那些事(二)
- N-Queens II
- C#设计模式(一)单例模式
- 【python学习笔记】15:numpy创建各种数组
- 启动docker,进入docker
- 第四章:Django模型——添加 Event发布会的表 报错
- Listview 默认分割线颜色和大小
- javascript 学习笔记(2)
- 两个栈实现一个队列
- 解析cifar的python数据集中的图片