文档介绍:N皇后问题
/*
N皇后
题目描述
说明西洋棋中的皇后可以直线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上,
* 1970年与1971年, 。
该题要求N皇后的放置结果共有多少种
输入描述
输入一个正整数N(N<16)
输出描述
输出结果
输入样例
8
输出样例
92
*
* 1
* 2
*/
packagejava201211;
import ;
/**
*
* ***@author Administrator
*/
public class N皇后{
static int n = 8;
static int[] lie = new int[n];
static int count=0;
static boolean canPlace(int k) {
boolean canPlace=true;
for (int i = 0; i < k; i++) {
if ((lie[k] - lie[i]) == (k - i) || lie[k] == lie[i]) {
canPlace=false;
}
}
return canPlace;
}
static void backtrack(int m){
if(m>n-1){
count++;
}else{
for (int i = 0; i < n; i++) {
lie[m]=i;
if(canPlace(m)){
backtrack(m+1);
}
}
}
}
/**
* ***@param args mand line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner();
n = ();
lie = new int[n];
backtrack(0);
(count);
}
}
24点
/*
二十四点
题目描述
问题描述:输入4个数,通过加、减、乘、除运算看能否得到结果 24,每个数只用一次,如果能输出一种公式,
输入描述
输入四个正整数
输出描述
能通过某种方式得到24则输出1,不能则输出0
输入样例
6 6 6 6
输出样例
1
6+6+6+6
*
*
* 0 1 2 3 4 5 6
* 0 1 2 3
*
* 1 2 3 4
* 3 4 3
* 3 7 3 -1
* 10 10
*
* -4 -1
*
*/
package java201211;
import ;
import ;
import ;
/**
*
* ***@author Administrator
*/
public class _24点2 {
static int data[] = {6, 6, 6, 6};
static float s = 0;
static String str = "";
static List<String> strList=new ArrayList();
static int count = 0;
static String strii = "";
static List<Float> list = new ArrayList();
static void search(List<Float> list) {
if (() == 1) {
if(s==24){
count
++;
}
//(str);
} else {
for (int n = 0; n < ()-1; n++) {
for (int i = n + 1; i < (); i++) {
List<Float> tlist = new ArrayList();
(list);
s = (n) + lis