资源描述:
《骑士两报告兵》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划骑士两报告兵 软件课程设计1报告 姓名:姓名:专业:设计题目:指导教师: 学号: 学号:计算机科学与技术写程序求解骑士巡游问题 XX年07月01日 中国矿业大学徐海学院课程设计综合成绩表 目录 《ConstructingRoads》解题与算法分析报告目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开
2、展,特制定安保从业人员的业务技能及个人素质的培训计划 一、题目描述......................................................4二、解题思路......................................................5三、相关算法介绍..............................................5四、主要数据结构..............................................5五、流程图.................
3、.........................................6六、源程序..........................................................8七、时空分析....................................................10 编写程序求解骑士巡游问题:在n行n列的棋盘上,假设一位骑士从初始坐标位置(x1,y1)出发,要遍访棋盘中的每一个位置一次。请编一个程序,为骑士求解巡游“路线图”。 输入 输入n行n列的棋盘的大小,建立一个n*n的数组,数组[
4、i][j]棋盘,再输入骑士巡游的初始位置(i,j)。 输出 例如,当n=5且初始坐标位置定为(1,1)—即最左上角的那个点时,如下是一种巡游“路线图”。程序执行后的输出结果为: “棋盘”可用二维数组B表示。 编制一个具有如下原型的递归函数solve,用于完成任务:从(i,j)点出发,做第k至第n*n次的移动—将k直到n的平方这些数码按规则分别摆放到棋盘即数组B中,若成功则通过引用参数ok返回true,否则返回false。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适
5、应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 voidsolve(inti,intj,intk,bool&ok);编制主函数,让用户输入作为巡游起点的初始坐标位置(x1,y1),在该处摆放“棋子”1,而后进行调用“solve(x1,y1,2,ok);”来完成所求任务。 欲处理的初始问题为:从某点(x1,y1)出发,按所给行走规则,作24次移动,遍访棋盘中没被访问过的各点。 可分解化简为如下两个子问题:①由点(x1,y1)出发,按所给行走规则作1次移动到达(g,h);②从(g,h)点出发,按所
6、给行走规则,作23次移动,遍访棋盘中没被访问过的各点。 solve函数具体实现时,若由(i,j)点出发已“无路可走”,则将引用参数ok置为false而递归出口;否则,先“迈一步”到达(g,h)点,而后再进行递归调用:solve(g,h,k+1,ok);以实现从新点(g,h)出发,将k+1直到25这些“棋子”分别摆放到棋盘上,若成功则通过引用参数ok返回true。 三、相关算法介绍 递归算法:在函数或子过程的内部,直接或者间接地调用自己的算法。 回溯算法:问题的每个解都包含N部分,先给出第一部分,再给出第二部分,……直到给出第N部分,这样就得到了一个解
7、。若尝试到某一步时发现已经无法继续,就返回到前一步,修改已经求出的上一部分,然后再继续向后求解。这样,直到回溯到第一步,并且已经将第一步的所有可能情况都尝试过之后,即可得出问题的全部解。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 四、主要数据结构 全局性的二维数组b[][],a[][] 一维数组dx[],dy[] NOIPXX普及组复赛试题解题报告word版
8、第一二题满分程序 CCF全国信息学奥林匹克联赛复赛