DFS小题
原创
题目为:()()()+()()()=()()()
将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小题的更多相关文章
- 迷宫救人——DFS小题
原创 题目大意:人质被困在迷宫之中,要求你寻找一条最短路径快速找到人质. 如图,人质在黄色点2处,营救者在起点红色处,1表示无法通过的障碍点,寻找一条最短路径快速找到人质. 毫无疑问用DFS,遍历4个 ...
- poj1564 Sum It Up dfs水题
题目描述: Description Given a specified total t and a list of n integers, find all distinct sums using n ...
- 常让人误解的一道js小题
一道小题引发的深思 今天无意中看到一个js笔试题,不由得想起初学js那会被各种题目狂虐的心酸,虽说现在也会被笔试题所虐,但毕竟比之前好了很多,下面就是我的个人理解,欢迎拍砖.指正: var x = 1 ...
- 一些js小题(一)
一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...
- 关于理解python类的小题
今天看了python部落翻译的一篇<一道python类的小题>文章,感觉挺有启发性,记录下来: print('A') class Person(object): print('B') de ...
- POJ 1321 棋盘问题(DFS板子题,简单搜索练习)
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44012 Accepted: 21375 Descriptio ...
- 20181014xlVBA获取小题零分名单
Sub GetZeroName() Dim Dic As Object Const SUBJECT = "科目名称" Dim Key As String Dim OneKey Di ...
- 关于SQL的几道小题详解
关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...
- CF上的3道小题(2)
CF上的3道小题(2) T1:CF630K Indivisibility 题意:给出一个数n,求1到n的数中不能被2到9中任意一个数整除的数. 分析:容斥一下,没了. 代码: #include < ...
随机推荐
- AngularJS:Http
ylbtech-AngularJS:Http 1.返回顶部 1. AngularJS XMLHttpRequest $http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据. 使 ...
- Ceph recover的速度控制
前言 磁盘损坏对于一个大集群来说,可以说是必然发生的事情,即使再小的概率,磁盘量上去,总会坏那么几块盘,这个时候就会触发内部的修复过程,修复就是让不满足副本要求的PG,恢复到满足的情况 一般是踢掉坏盘 ...
- MFC 菜单栏杂记
1.关于为毛要使用detach()函数 CMenu menu; menu.LoadMenu(IDR_MAINFRAME); SetMenu(&menu); menu.Detach(); //如 ...
- Halcon学习之一:查询图像参数
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.get_grayval ( Image : : Row, Column : Grayval ) 计算Image图像中坐标为(Row,Colum ...
- Java微信公众平台开发(十四)【番外篇】--微信web开发者工具使用
转自:http://www.cuiyongzhi.com/post/58.html 为帮助开发者更方便.更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具.它是一个桌面应用,通过模拟微信 ...
- IDEA中快速排除maven依赖
选中该模块 点击show dependenties 切换试图 选中要排除的依赖,右击 选择Execlude,然后选择需要在哪个模块添加排除依赖 完成
- 15-EasyNetQ之对延迟消息插件的支持
RabbitMQ延迟消息插件仍然在实验阶段.你使用这个功能要自担风险. RabbitMQ延迟消息插件为RabbitMQ增加了新的交换机类型,允许延时消息投递. EasyNetQ为交换机通过定义一种新的 ...
- 关于苹果safari浏览器登陆时Cookie无法保存的问题
前段时间,修改了登录处理后给到客户端浏览器Cookie的内容,新增了一个姓名的value,发现safari不能保存该Cookie的内容,同时Chrome.firefox.ie等浏览器都能正常的访问,直 ...
- Init & Deinit & ARC
[Init & Deinit] 1.switf中,init不返回值,只负责初始化成员变量.在init方法中可以初始化常量. 2.默认初始化. 3.Swift provides an autom ...
- Leetcode:ZigZag Conversion分析和实现
问题的大意就是将字符串中的字符按锯齿状(倒N形)垂直由上向下放置,最后水平从左向右读取.比如 ABCDEFGHIJKLMN,4表示 A G M B F H ...