基于深度优先搜索的填字游戏解决方法
题目:□□□+□□□=□□□,□中可填入数字1-9,输出所有可能的结果,统计个数
<span style="font-size:18px;">package matchDemo;
// 口口口+口口口=口口口,口中可选数字0~9,必须是三位数,只要两个三位数不同,判定为不同情况
//输出所有符合条件的情况</span>
public class MatchDemo {static int count=0;static int [] book=new int [10]; //1-9,9个数字,0不算static int [] a=new int[10]; //1-9,9个格子,0不算
//输出全是0+0=0,问题出在这
// static int add1=a[1]*100+a[2]*10+a[3];
// static int add2=a[4]*100+a[5]*10+a[6];
// static int result=a[7]*100+a[8]*10+a[9];public static void main(String[] args) {dfs(1);System.out.println("共有"+count/2+"种等式");}public static void dfs(int step){int add1=a[1]*100+a[2]*10+a[3];int add2=a[4]*100+a[5]*10+a[6];int result=a[7]*100+a[8]*10+a[9];if(step==10){ //前9个格子都填好数字以后 if (add1+add2==result) {System.out.println(add1+"+"+add2+"="+result);count++;}}for(int i=1;i<=9;i++){if(book[i]==0){a[step]=i;book[i]=1;dfs(step+1);book[i]=0;} }}
}
把add1,add2,result这三个数,定义成static型的全局变量,结果输出全为0+0=0
这是很严重的错误,定义为初始化时,a数组中所有的元素都是0.因此add1,add2,result这三个数初始化都为0,在后续方法中,虽然改变了a数组的值,但是并没有再给add1,add2,result这三个数赋值,因此会出现这个错误
这样写本身也是不合理的,直接定义在dfs方法中才是最好的选择。
基于深度优先搜索的填字游戏解决方法相关推荐
- (国赛B题)沙漠掘金——基于深度优先搜索的沙漠掘金游戏策略求解(上)
摘要 穿越沙漠游戏是一个由单人或多人玩家在一定的游戏参数设定之下,综合考虑行走路径,移动策略以及购买策略以实现最终收益最大化的项目,本文主要从最优移动策略的性质出发讨论如何快速计算寻找所有可能路径,以 ...
- 基于80x86汇编的英文填字游戏程序
一.游戏背景介绍 英文作为全世界通用语言,也是当今世界上应用最广泛的语言,世界上以英语为母语的人近4亿,并且已经有约20个国家把英语作为官方语言或者第二语言使用,在国际政治.经济.军事.科技.文化.贸 ...
- 求解3*3方格填字游戏问题(DFS + 质数)
继续来水一道题... 一. 实验目的 加深对求解一个3 * 3方格两两相邻为质数求解算法的理解; 通过本次试验掌握将算法转换为上机操作; 加深对深度优先搜索思想的理解,理解回溯原理即实现过程,并利用其 ...
- 纵横填字游戏解题报告
题意描述: [问题描述] 这个题目要求你编写一个程序来解决一个纵横填字游戏. 这个游戏比我们在报纸上见到的通常的填字游戏要简单.游戏仅给出单词的起始位置,方面(横向或纵向)以及单词的长度.只要单词的长 ...
- AI玩填字游戏,赢得全国锦标赛冠军!官方:不是人,没有奖金和名次
杨净 发自 家里 量子位 报道 | 公众号 QbitAI 上周,一年一度的美国填字游戏锦标赛(ACPT)落下了帷幕,共有1300多名人员线上参与. 最终官方认定,一位Tyler Hinman的玩家夺得 ...
- python编写古诗_用Python实现古诗词填字游戏(一)
利用古诗词做填字游戏是一项很有趣的活动,通常的填字游戏都是由几横几竖构成,如下图: 显然,横竖交叉的位置就是两句诗共有的字.那么,问题来了,如何从众多诗文中找到有共同字的句子呢? 这里Mr. PosP ...
- 基于深度优先搜索回溯法的人狼羊菜过河模型
基于深度优先搜索回溯法的人狼羊菜过河模型 本文介绍一个农夫过河的小模型,算法 Python 实现,感觉还挺有趣的,因原为笔者课程作业论文改版而来,所以文章内容比起其他博客文章可能会比较严肃与严谨.期待 ...
- LeetCode 2018. 判断单词是否能放入填字游戏内(模拟)
文章目录 1. 题目 2. 解题 1. 题目 给你一个 m x n 的矩阵 board ,它代表一个填字游戏 当前 的状态. 填字游戏格子中包含小写英文字母(已填入的单词),表示 空格 的 ' ' 和 ...
- 应用JavaFX实现的填字游戏
题目来自我们老师这次布置的一个大作业,说实话,刚开始觉得难度超纲了,毕竟javaFX我们才刚开头,基本上没讲啥,全靠自学-自己看书敲代码,学习书上案例,然后书上没有的就百度,边学边做,现学现卖,题目基 ...
最新文章
- sklearn 岭回归
- Arrays常见用法
- extern C 作用
- 一、Bitmap的recycle问题
- Qt中的测试 枚举与 QFlags详解
- Linux下SVN安装
- NBT:你想成为计算生物学家?
- BZOJ 2594: [Wc2006]水管局长数据加强版( LCT )
- java 解密pdf文件_Java 加密和解密PDF文档
- Spring实战(开发Web应用)
- 创新工场 DeeCamp 2019 人工智能训练营启动报名,计划招收至少 600 名大学生...
- Android 蓝牙 inquiry、inquiry scan、page、page scan等概念解析
- netbeans使用教程_IDE:5个最喜欢的NetBeans功能
- Swift 3DTouch开发 自定义ShortcutItems
- Debian启动自定义桌面
- 我的机器学习支线「模型复杂度」
- b站爬虫,用于查询主播舰队用户等级构成
- 关于嵌入式编程的思考
- fiddler CSFF安全漏洞-重点讲解refer字段、token字段
- Sublime Text 3 简体中文汉化包使用方法