原创


题目为:()()()+()()()=()()()

将1~9这9个数字填入括号,每个数字只能用一次。

枚举:

 public class Test {
public static void main(String[] args){
int a[]=new int[9];
int flag[]=new int[10];
long total=0L;
for(int i=1;i<=9;i++) {
flag[i]=0;
}
for(a[0]=1;a[0]<=9;a[0]++) {
for(a[1]=1;a[1]<=9;a[1]++) {
for(a[2]=1;a[2]<=9;a[2]++) {
for(a[3]=1;a[3]<=9;a[3]++) {
for(a[4]=1;a[4]<=9;a[4]++) {
for(a[5]=1;a[5]<=9;a[5]++) {
for(a[6]=1;a[6]<=9;a[6]++) {
for(a[7]=1;a[7]<=9;a[7]++) {
for(a[8]=1;a[8]<=9;a[8]++) {
int tt=0;
for(int i=0;i<=8;i++) {
flag[a[i]]=1;
}
for(int i=1;i<=9;i++) {
tt+=flag[i];
}
if(tt==9) {
if(a[0]*100+a[1]*10+a[2]+a[3]*100+a[4]*10+a[5]==a[6]*100+a[7]*10+a[8]) {
total++;
tt=0;
}
}
for(int i=1;i<=9;i++) { //数组恢复
flag[i]=0;
} }
}
}
}
}
}
}
}
}
System.out.println(total/2);
}
}

全排列:

关于全排列,请看我上一篇博客:https://www.cnblogs.com/chiweiming/p/9279858.html

 public class Test{

     static int flag[]=new int[10];    //flag[i]=0代表第i个数未用
static int win[]=new int[9];
static long total=0L; public static void dfs(int step) { //第step个格子
if(step==9) {
if(win[0]*100+win[1]*10+win[2]+win[3]*100+win[4]*10+win[5]==win[6]*100+win[7]*10+win[8]) {
total++;
}
return;
}
for(int i=1;i<=9;i++) { //尝试按顺序将1~9其中一个放入格子
if(flag[i]==0) {
win[step]=i;
flag[i]=1;
dfs(step+1);
flag[i]=0;
}
}
} public static void main(String args[]) {
for(int i=1;i<=9;i++) {
flag[i]=0;
}
dfs(0);
System.out.println(total/2);
}
}

答案:168

23:26:20

2018-07-09

DFS小题的更多相关文章

  1. 迷宫救人——DFS小题

    原创 题目大意:人质被困在迷宫之中,要求你寻找一条最短路径快速找到人质. 如图,人质在黄色点2处,营救者在起点红色处,1表示无法通过的障碍点,寻找一条最短路径快速找到人质. 毫无疑问用DFS,遍历4个 ...

  2. poj1564 Sum It Up dfs水题

    题目描述: Description Given a specified total t and a list of n integers, find all distinct sums using n ...

  3. 常让人误解的一道js小题

    一道小题引发的深思 今天无意中看到一个js笔试题,不由得想起初学js那会被各种题目狂虐的心酸,虽说现在也会被笔试题所虐,但毕竟比之前好了很多,下面就是我的个人理解,欢迎拍砖.指正: var x = 1 ...

  4. 一些js小题(一)

    一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...

  5. 关于理解python类的小题

    今天看了python部落翻译的一篇<一道python类的小题>文章,感觉挺有启发性,记录下来: print('A') class Person(object): print('B') de ...

  6. POJ 1321 棋盘问题(DFS板子题,简单搜索练习)

    棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44012   Accepted: 21375 Descriptio ...

  7. 20181014xlVBA获取小题零分名单

    Sub GetZeroName() Dim Dic As Object Const SUBJECT = "科目名称" Dim Key As String Dim OneKey Di ...

  8. 关于SQL的几道小题详解

    关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...

  9. CF上的3道小题(2)

    CF上的3道小题(2) T1:CF630K Indivisibility 题意:给出一个数n,求1到n的数中不能被2到9中任意一个数整除的数. 分析:容斥一下,没了. 代码: #include < ...

随机推荐

  1. 读写另一EXE的内存

    procedure TfrmMain.tmrChangeServerNameTimer(Sender: TObject); function GetProcessID(FileName: string ...

  2. java多线程-------------基础的Thread.CURRNET

    总结:感觉不是太难,不过我写出来了,但竟然不理解它的意思?多线程就是多个任务同时进行 public class Test2 { public static void main(String[] arg ...

  3. HDU 3018 Ant Trip(欧拉回路,要几笔)

    Ant Trip Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  4. python学习(五) 条件、循环和其他语句

    第五章 条件.循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 >>> print('age',43,45)         // 可以用逗号隔开 ...

  5. JavaScript笔记——事件

    事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netscape Navigator 中出现, 作为分担服务器端运算负载的一种手段.直到几乎所有的浏览器都支持事件处理.而 DOM2 级规范开 ...

  6. oracle删除重复数据

    select id from LOG where created >= to_date('2015/2/7 00:00:00', 'yyyy-mm-dd hh24:mi:ss') and cre ...

  7. 基于Halcon的一维条码识别技巧

    Bar Code 条形码 1.clear_all_bar_code_models    清除所有条形码模型释放内存clear_all_bar_code_models( : : : )2.clear_b ...

  8. 「小程序JAVA实战」小程序视图之细说数据绑定(13)

    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-13/ 在前面的小节里面其实对数据绑定都有所了解了,在这次给老铁在好好说下数据绑定,看下它的方方面面 ...

  9. mvc 实体类 自定义验证特性

    mvc 实体类验证的时候 如果有多个验证特性需要在属性上层叠很多个验证特性,显得属性特别臃肿并且也不够直观,极大地影响我使用它的兴趣,所以我想自定义一个验证特性,然后将所有需要验证的情形全部放在一个特 ...

  10. Golang简单写文件操作的四种方法

    package main import ( "bufio" //缓存IO "fmt" "io" "io/ioutil" ...