- 1、本文档共130页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法题目答案整理
N皇后问题
/*N皇后题目描述说明西洋棋中的皇后可以直线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上,* 1970年与1971年, E.W.Dijkstra与N.Wirth曾经用这个问题来讲解程式设计之技巧。该题要求N皇后的放置结果共有多少种输入描述输入一个正整数N(N16)输出描述输出结果输入样例8输出样例92* * 1 * 2*/packagejava201211;import java.util.Scanner;/**** @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 (Math.abs(lie[k] - lie[i]) == Math.abs(k - i) || lie[k] == lie[i]) { canPlace=false; } } return canPlace; } static void backtrack(int m){ if(mn-1){ count++; }else{ for (int i = 0; i n; i++) { lie[m]=i; if(canPlace(m)){ backtrack(m+1); } } } } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner sc = new Scanner(System.in); n = sc.nextInt(); lie = new int[n]; backtrack(0); System.out.println(count); }}
24点
/*二十四点题目描述问题描述:输入4个数,通过 加、减、乘、除运算看能否得到 结果 24,每个数只用一次,如果能输出 一种公式,输入描述输入四个正整数输出描述能通过某种方式得到24则输出1,不能则输出0输入样例6 6 6 6输出样例16+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 java.util.ArrayList;import java.util.List;import java.util.Scanner;/**** @author Administrator*/public class _24点2 { static int data[] = {6, 6, 6, 6}; static float s = 0; static String str = ; static ListString strList=new ArrayList(); static int count = 0; static String strii = ; static ListFloat list = new ArrayList(); static void search(ListFloat list) { if (list.size() == 1) { if(s==24){
文档评论(0)