原创


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

将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. selenium定位方法

  2. java代码多线程实现如下

    总结:我的比赛得了最差的奖,老师提都没提,所以,我应该有自知之明,你并不是他最喜欢的学生 import java.util.Scanner; //利用多线程实现输入等待…… public class ...

  3. 让memcached分布式

    memcached是应用最广的开源cache产品,它本身不提供分布式的解决方案,我猜想一方面它想尽量保持产品简单高效,另一方面cache的key-value的特性使得让memcached分布式起来比较 ...

  4. 杂项-EMS:目录

    ylbtech-杂项-EMS:目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返回顶部   ...

  5. Git使用点滴记录: You have no permission to access this repo.

    代码托管在https://coding.net上面,之前Git用https的方式都好好的,没有出什么问题.结果今天git pull代码的时候一直提示以下信息: remote: Coding.net T ...

  6. windows-x64下安装python3.6

    1.下载python3安装包,注意要安装windowsx64的exe安装包.python-3.6.2-amd64.exe 2.设置window的环境变量:C:\Users\您设置的windows用户名 ...

  7. python开发socket套接字:套接字&通信循环&链接循环&模拟远程命令

    一,套接字 先从服务器端说起.服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Socket ...

  8. 解决在“Resources”参数中指定了项“obj\Debug\KaiShiHID.Form1.resources”多次。“Resources”参数不支持重复项

    错误截图: 发生原因描述: 窗体Form1, 有一个分部类; 叫做FormPartial.cs; 双击了FormPartial这个窗体, 然后生成了一个Load事件, 即时就报了编译错误, 然后就删除 ...

  9. 第七章 AOP(待续)

    ···············

  10. clock函数返回负值~ (转)

    使用clock() 函数来进行计时,时不时的返回一个很大的负数,怎么检查也检查不出错误,现在找出错误原因,给大家分享一下. 来源网页:http://kebe-jea.blogbus.com/logs/ ...