下棋属于一种博弈游戏,博弈过程可以用树(博弈树)来表示。
假设游戏由两个人(A和B)玩,开始由某个人从根结点开始走,两个人轮番走棋,每次只能走一步,下一步棋只能选择当前结点的孩子结点,谁先走到叶子结点为胜。
例如,对于下图所示的博弈树,若A先走,可以选f,B若选h,则A选j胜。
编写一程序,让计算机和人下棋。
当计算机走下一步时,可以根据以下情况决定下一步:(1)若存在可以确保取胜的一个孩子结点,则选择该结点作为下一步;
(2)若存在多个可以确保取胜的孩子结点,则选择其中高度最小的结点作为下一步(若有多个选择,则选最左边的结点);
(3)若不存在可以确保取胜的一个孩子结点,则选择高度最大的孩子结点作为下一步(若有多个选择,则选最左边的结点);
例:(下面的黑体为输入)(a,(b,(x)),(c,(d),(e,(g),(h)),(f)))abxcdeghfWhoplayfirst(0:computer;1:player)?1player:ccomputer:dSorry,youlost.Continue(y/n)?yWhoplayfirst(0:computer;1:player)?1player:xillegalmove.player:bcomputer:xSorry,youlost.Continue(y/n)?yWhoplayfirst(0:computer;1:player)?0computer:cplayer:fCongratulate,youwin.Continue(y/n)?n
2022/9/2 22:54:44 5KB 博弈树 数据结构 C语言
1
5、用计算机语言表示算法设计算法的目的是为了实现算法。
因而,不仅要考虑如何设计一个算法,也要考虑如何实现一个算法。
我们的任务是用计算机解题,也就是要用计算机实现算法。
计算机是无法识别流程图和伪代码的。
只有用计算机语言编写的程序才能被计算机执行(当然还要经过编译成目标程序才能被计算机识别和执行)。
因而,在用流程图或伪代码描述出一个算法后,还要将它转换成计算机语言程序。
2018/1/22 3:11:14 1.67MB C语言
1
动态网站开发与全程实例ISBN书号:97-7-302-16213-1作者:聂庆鹏毛书朋王志乐出版:清华大学出版社目录第1章PHP概述1.1PHP的来龙去脉1.2PHP可以做哪些事1.3PHP的特点及其与其它语言的比较1.4PHP常用开发工具案例1登陆Internet了解PHP的应用情况本章小结练习题第2章预备知识:HTML与JavaScript2.1什么是HTML2.2HTML的文本标记及属性2.3插入图片和超链接2.4表格的使用2.5创建表单2.6JavaScript简介2.7JavaScript语法2.8JavaScript使用范例………………第10章PHP5程序开发综合范例10.1需求分析10.2流程设计10.3数据库设计10.4代码编写10.5程序运转10.6本章小节10.7练习题
2020/4/23 11:08:04 4.3MB PHP、MYSQL
1
PHP+MYSQL动态网站开发ppt很详细,具体的ppt教程,从基础入手,配合案例教程,及每章练习题,循序渐进,适合新手入门,及中级水平提高很好的一本教程!第1章PHP概述1.1PHP的来龙去脉1.2PHP可以做哪些事1.3PHP的特点及其与其它语言的比较1.4PHP常用开发工具案例1登陆Internet了解PHP的应用情况本章小结练习题第2章预备知识:HTML与JavaScript2.1什么是HTML2.2HTML的文本标记及属性2.3插入图片和超链接2.4表格的使用2.5创建表单2.6JavaScript简介2.7JavaScript语法2.8JavaScript使用范例第3章PHP服务器环境配置3.1PHP服务器概述3.2安装PHP前的准备工作3.3PHP5+IIS服务器安装配置3.4PHP5+APACHE服务器安装配置第4章PHP5的基本语法4.1PHP语法概述4.2PHP的常量和变量4.3PHP的运算符和表达式4.4PHP的流程控制4.5PHP的系统函数与自定义函数4.6PHP5的类与对象第5章PHP5内置数组和常量5.1PHP5的内置数组简介5.2接收表单数据和URL附加数据5.3用Cookie和Session实现用户登录5.4用内置数组获取服务器环境信息第6章PHP5常用函数引见6.1PHP5内置函数概述6.2数组函数6.3字符串处理函数6.4时间日期函数6.5数学函数6.6图像处理函数6.7其他函数第7章PHP5文件与目录操作7.1文件操作7.2目录操作7.3文件上传的实现第8章MYSQL数据库安装与使用8.1MYSQL数据库系统简介8.2MYSQL的安装与初始化设置8.3MYSQL中的数据类型8.4结构化查询语言(SQL)简介8.5MYSQL数据库管理工具案例8安装并配置Mysql,并建立一个用户信息表第9章PHP+MYSQL数据库编程9.1PHP操作MYSQL数据库的流程9.2连接数据库前的准备工作9.3PHP操作MYSQL方法详解案例9编写一个PHP+MySQL留言本程序第10章PHP5程序开发综合范例10.1需求分析10.2流程设计10.3数据库设计10.4代码编写10.5程序运行10.6本章小节10.7练习题案例7利用文件操作实现支持头像上传的用户注册程序
2019/4/11 18:19:25 3.72MB php mysql web开发
1
Qt是一套应用程序开发类库,但与MFC不同,Qt是跨平台的开发类库。
Qt支持PC和服务器的平台,包括Windows、Linux、macOS等,还支持移动和嵌入式操作系统,如iOS、EmbeddedLinux、Android、WinRT等。
跨平台意味着只需编写一次程序,在不同平台上无需改动或只需少许改动后再编译,就可以构成在不同平台上运行的版本。
这种跨平台功能为开发者提供了极大的便Qt最早是由挪威的HaavardNord和EirikChambe-Eng在1991年开始开发的,在1994年发布,并成立了一家名为Trolltech的公司。
Trolltech公司在2008年被诺基亚公司收购。
2012年,Qt被Digia公司收购,并在2014年成立了独立的Qt公司,专门进行Qt的开发、维护和商业推广。
利。
2018/7/21 23:51:25 9.61MB qt5 c++
1
使用本人编写的程序对数据进行卷积运算,输入x和h两个数据矩阵就可以进行卷积运算
2015/7/27 13:02:22 599B 卷积 matlab
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡