考试题目-宽度优先搜索
- 格式:doc
- 大小:48.00 KB
- 文档页数:5
⼒扣⼴度优先搜索题⽬
1学会使⽤yield来遍历四个⽅向,⼴度搜索时常⽤布尔矩阵来记录是否遍历过,
2 ⽹格类的问题⼀般是⽤dp,深度优先,⼴度优先这三个解法,这道题不能⽤dp解,应该⽤⼴度优先,从头开始遍历时,为了先把箭头指向的都遍历完,每次遍历四个⽅向时,要先把⽅向指向的放⼊队列的最前⾯,这样就保证了可以深度优先的先遍历完,这个技巧很重要,
3 这个题很典型,其实类似于岛屿问题中的01区域搜索,因为这个题中也有隔开的问题,既可以⽤bfs也可以⽤dfs,为了节省搜索,可以只朝左边和下边搜索,
4 典型的bfs,类似与腐烂的橘⼦和⼀道求曼哈顿距离的题,对与是否遍历过的点可以⽤set集合记录,也可以⽤布尔矩阵进⾏记录,。
第十九届全国青少年信息学奥林匹克联赛初赛提高组C++语言试题竞赛时间:2013年10月13日14:30~16:30选手注意:●试题纸共有12页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上的一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题1.5分,共计22.5分;每题有且仅有一个正确选项)1.一个32位整型变量占用()个字节。
A.4B.8C.32D.1282.二进制数11.01在十进制下是()。
A.3.25B.4.125C.6.25D.11.1253.下面的故事与()算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:?从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’?A.枚举B.递归C.贪心D.分治4.1948年,()将热力学中的熵引入信息通信领域,标志着信息论研究的开端。
A.冯·诺伊曼(John von Neumann)B.图灵(Alan Turing)C.欧拉(Leonhard Euler)D.克劳德·香农(Claude Shannon)5.已知一棵二叉树有2013个节点,则其中至多有()个节点有2个子节点。
A.1006B.1007C.1023D.10246.在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。
右图是一个有5个顶点、8条边的连通图。
若要使它不再是连通图,至少要删去其中的()条边。
A.2B.3C.4D.57.斐波那契数列的定义如下:F1=1,F2=1,Fn=Fn–1+Fn–2(n≥3)。
如果用下面的函数计算斐波那契数列的第n项,则其时间复杂度为()。
int F(int n){if(n<=2)return1;elsereturn F(n-1)+F(n-2);}A.O(1)B.O(n)C.O(n2)D.O(F n)8.二叉查找树具有如下性质:每个节点的值都大于其左子树上所有节点的值、小于其右子树上所有节点的值。
2024年12月GESP编程能力认证C++等级考试八级真题(含答案)一、单选题(每题2分,共30分)。
1.小杨家响应国家“以旧换新”政策,将自家的汽油车置换为新能源汽车,正在准备自编车牌。
自编车牌包括5位数字或英文字母,要求第5位必须是数字,前4位中可以有最多1位英文字母。
英文字母必须是大写,而且不能是O或I(因为容易与数字0或1混淆)。
请问自编车牌共有多少种可能性?()。
2.新年到,四家人在一起聚会。
其中两家有三口人,另外两家有两口人。
现在要安排大家在一张十人圆桌坐下,要求一家人必须相邻就座。
由于有“主座”的习俗,每个座位都被认为是不同的。
请问共有多少种就座方案?()。
3.下面关于C++类继承的说法,错误的是()。
A. 一个类可以继承多个类。
B. 一个类可以被多个类继承。
C. 一个类可以继承另一个类的子类。
D. 抽象类必须被至少一个类继承,否则会编译错误。
4.使用邻接表表达一个简单有向图,图中包含v个顶点、e条边,则该出边表中边节点的个数为()。
5.以下将二维数组作为参数的函数声明,哪个是符合语法的?()。
6.已知两个点A 、B 在平面直角坐标系下的坐标分别为(xa,ya)和(xb,yb),并分别定义变量double xa, ya, xb, yb;存储坐标。
假设直线AB 的斜率存在,下列哪个表达式可以用来表达它?()。
7.二项式6)(y x 的展开式中33x y 项的系数是()。
8.以下关于动态规划的说法中,错误的是()。
A. 动态规划方法有递推和递归两种实现形式。
B. 递归实现动态规划方法的时间复杂度总是不低于递推实现。
C. 动态规划方法将原问题分解为一个或多个相似的子问题。
D. 动态规划方法通常能够列出递推公式。
9.在下面的程序中,使用整数表示一种组合。
整数二进制表示的某一位为1,表示该位对应的数被选中,反之为0表示未选中。
例如,从0 - 5这6个数中选出3个,则0b111000代表选中3, 4, 5三个数,0b011001代表选中0, 3, 4三个数。
算法考试题目及答案解析一、单项选择题(每题2分,共10分)1. 在算法中,时间复杂度为O(1)表示该算法的执行时间与输入数据的规模无关。
A. 正确B. 错误答案:A2. 快速排序算法的平均时间复杂度是O(nlogn)。
A. 正确B. 错误答案:A3. 以下哪种排序算法在最好、最坏和平均情况下的时间复杂度都是O(n^2)?A. 冒泡排序B. 快速排序C. 归并排序D. 堆排序答案:A4. 哈希表的平均查找时间复杂度是O(1)。
A. 正确B. 错误答案:A5. 深度优先搜索(DFS)和广度优先搜索(BFS)都是用于遍历或搜索树或图的算法。
B. 错误答案:A二、多项选择题(每题3分,共15分)1. 以下哪些算法属于贪心算法?A. 迪杰斯特拉算法B. 霍夫曼编码C. 克鲁斯卡尔算法D. 动态规划答案:BC2. 在图的遍历中,以下哪些是广度优先搜索(BFS)的特点?A. 使用队列作为数据结构B. 从源节点开始,逐层遍历C. 总是先访问距离源节点近的节点D. 可以用于寻找最短路径答案:ABC3. 以下哪些数据结构可以用于实现哈希表?A. 数组B. 链表C. 树D. 图答案:ABC4. 以下哪些排序算法是稳定的?A. 冒泡排序B. 快速排序C. 归并排序D. 堆排序5. 以下哪些算法适用于解决最短路径问题?A. 迪杰斯特拉算法B. 克鲁斯卡尔算法C. 弗洛伊德算法D. 普里姆算法答案:AC三、简答题(每题5分,共20分)1. 请简述动态规划算法的基本思想。
答案:动态规划算法的基本思想是将复杂问题分解为相似的子问题,并通过存储子问题的解来避免重复计算,从而提高算法效率。
2. 什么是二叉树的前序遍历,中序遍历和后序遍历?答案:二叉树的前序遍历是指先访问根节点,然后遍历左子树,最后遍历右子树;中序遍历是指先遍历左子树,然后访问根节点,最后遍历右子树;后序遍历是指先遍历左子树,然后遍历右子树,最后访问根节点。
3. 请解释什么是时间复杂度,并给出一个例子。
【题目1】N皇后问题(八皇后问题的扩展)【题目2】排球队员站位问题【题目3】把自然数N分解为若干个自然数之和。
【题目4】把自然数N分解为若干个自然数之积。
【题目5】马的遍历问题。
【题目6】加法分式分解【题目7】地图着色问题【题目8】在n*n的正方形中放置长为2,宽为1的长条块,【题目9】找迷宫的最短路径。
(广度优先搜索算法)【题目10】火车调度问题【题目11】农夫过河【题目12】七段数码管问题。
【题目13】把1-8这8个数放入下图8个格中,要求相邻的格(横,竖,对角线)上填的数不连续.【题目14】在4×4的棋盘上放置8个棋,要求每一行,每一列上只能放置2个.【题目15】迷宫问题.求迷宫的路径.(深度优先搜索法)【题目16】一笔画问题【题目17】城市遍历问题.【题目18】棋子移动问题【题目19】求集合元素问题(1,2x+1,3X+1类)【题目】N皇后问题(含八皇后问题的扩展,规则同八皇后):在N*N的棋盘上,放置N个皇后,要求每一横行每一列,每一对角线上均只能放置一个皇后,问可能的方案及方案数。
const max=8;var i,j:integer;a:array[1..max] of 0..max; {放皇后数组}b:array[2..2*max] of boolean; {/对角线标志数组}c:array[-(max-1)..max-1] of boolean; {\对角线标志数组}col:array[1..max] of boolean; {列标志数组}total:integer; {统计总数}procedure output; {输出}var i:integer;beginwrite('No.':4,'[',total+1:2,']');for i:=1 to max do write(a[i]:3);write(' ');if (total+1) mod 2 =0 then writeln; inc(total);end;function ok(i,dep:integer):boolean; {判断第dep行第i列可放否} beginok:=false;if ( b[i+dep]=true) and ( c[dep-i]=true) {and (a[dep]=0)} and (col[i]=true) then ok:=trueend;procedure try(dep:integer);var i,j:integer;beginfor i:=1 to max do {每一行均有max种放法}if ok(i,dep) then begina[dep]:=i;b[i+dep]:=false; {/对角线已放标志}c[dep-i]:=false; {\对角线已放标志}col[i]:=false; {列已放标志}if dep=max then outputelse try(dep+1); {递归下一层}a[dep]:=0; {取走皇后,回溯}b[i+dep]:=true; {恢复标志数组}c[dep-i]:=true;col[i]:=true;end;end;beginfor i:=1 to max do begin a[i]:=0;col[i]:=true;end;for i:=2 to 2*max do b[i]:=true;for i:=-(max-1) to max-1 do c[i]:=true;total:=0;try(1);writeln('total:',total);end.【测试数据】n=8 八皇后问题No.[ 1] 1 5 8 6 3 7 2 4 No.[ 2] 1 6 8 3 7 4 2 5 No.[ 3] 1 7 4 6 8 2 5 3 No.[ 4] 1 7 5 8 2 4 6 3 No.[ 5] 2 4 6 8 3 1 7 5 No.[ 6] 2 5 7 1 3 8 6 4 No.[ 7] 2 5 7 4 1 8 6 3 No.[ 8] 2 6 1 7 4 8 3 5 No.[ 9] 2 6 8 3 1 4 7 5 No.[10] 2 7 3 6 8 5 1 4 No.[11] 2 7 5 8 1 4 6 3 No.[12] 2 8 6 1 3 5 7 4 No.[13] 3 1 7 5 8 2 4 6 No.[14] 3 5 2 8 1 7 4 6 No.[15] 3 5 2 8 6 4 7 1 No.[16] 3 5 7 1 4 2 8 6 No.[17] 3 5 8 4 1 7 2 6 No.[18] 3 6 2 5 8 1 7 4 No.[19] 3 6 2 7 1 4 8 5 No.[20] 3 6 2 7 5 1 8 4 No.[21] 3 6 4 1 8 5 7 2 No.[22] 3 6 4 2 8 5 7 1 No.[23] 3 6 8 1 4 7 5 2 No.[24] 3 6 8 1 5 7 2 4 No.[25] 3 6 8 2 4 1 7 5 No.[26] 3 7 2 8 5 1 4 6 No.[27] 3 7 2 8 6 4 1 5 No.[28] 3 8 4 7 1 6 2 5 No.[29] 4 1 5 8 2 7 3 6 No.[30] 4 1 5 8 6 3 7 2 No.[31] 4 2 5 8 6 1 3 7 No.[32] 4 2 7 3 6 8 1 5 No.[33] 4 2 7 3 6 8 5 1 No.[34] 4 2 7 5 1 8 6 3 No.[35] 4 2 8 5 7 1 3 6 No.[36] 4 2 8 6 1 3 5 7 No.[37] 4 6 1 5 2 8 3 7 No.[38] 4 6 8 2 7 1 3 5 No.[39] 4 6 8 3 1 7 5 2 No.[40] 4 7 1 8 5 2 6 3 No.[41] 4 7 3 8 2 5 1 6 No.[42] 4 7 5 2 6 1 3 8 No.[43] 4 7 5 3 1 6 8 2 No.[44] 4 8 1 3 6 2 7 5 No.[45] 4 8 1 5 7 2 6 3 No.[46] 4 8 5 3 1 7 2 6 No.[47] 5 1 4 6 8 2 7 3 No.[48] 5 1 8 4 2 7 3 6 No.[49] 5 1 8 6 3 7 2 4 No.[50] 5 2 4 6 8 3 1 7 No.[51] 5 2 4 7 3 8 6 1 No.[52] 5 2 6 1 7 4 8 3 No.[53] 5 2 8 1 4 7 3 6 No.[54] 5 3 1 6 8 2 4 7 No.[55] 5 3 1 7 2 8 6 4 No.[56] 5 3 8 4 7 1 6 2 No.[57] 5 7 1 3 8 6 4 2 No.[58] 5 7 1 4 2 8 6 3 No.[59] 5 7 2 4 8 1 3 6 No.[60] 5 7 2 6 3 1 4 8 No.[61] 5 7 2 6 3 1 8 4 No.[62] 5 7 4 1 3 8 6 2No.[63] 5 8 4 1 3 6 2 7 No.[64] 5 8 4 1 7 2 6 3No.[65] 6 1 5 2 8 3 7 4 No.[66] 6 2 7 1 3 5 8 4No.[67] 6 2 7 1 4 8 5 3 No.[68] 6 3 1 7 5 8 2 4No.[69] 6 3 1 8 4 2 7 5 No.[70] 6 3 1 8 5 2 4 7No.[71] 6 3 5 7 1 4 2 8 No.[72] 6 3 5 8 1 4 2 7No.[73] 6 3 7 2 4 8 1 5 No.[74] 6 3 7 2 8 5 1 4No.[75] 6 3 7 4 1 8 2 5 No.[76] 6 4 1 5 8 2 7 3No.[77] 6 4 2 8 5 7 1 3 No.[78] 6 4 7 1 3 5 2 8No.[79] 6 4 7 1 8 2 5 3 No.[80] 6 8 2 4 1 7 5 3No.[81] 7 1 3 8 6 4 2 5 No.[82] 7 2 4 1 8 5 3 6No.[83] 7 2 6 3 1 4 8 5 No.[84] 7 3 1 6 8 5 2 4No.[85] 7 3 8 2 5 1 6 4 No.[86] 7 4 2 5 8 1 3 6No.[87] 7 4 2 8 6 1 3 5 No.[88] 7 5 3 1 6 8 2 4No.[89] 8 2 4 1 7 5 3 6 No.[90] 8 2 5 3 1 7 4 6No.[91] 8 3 1 6 2 5 7 4 No.[92] 8 4 1 3 6 2 7 5 total:92对于N皇后:┏━━━┯━━┯━━┯━━┯━━┯━━┯━━┯━━┓┃皇后N│4 │5 │6 │7 │8 │9 │10 ┃┠───┼──┼──┼──┼──┼──┼──┼──┨┃方案数│2 │10 │4 │40 │92 │352 │724 ┃┗━━━┷━━┷━━┷━━┷━━┷━━┷━━┷━━┛【题目】排球队员站位问题┏━━━━━━━━┓图为排球场的平面图,其中一、二、三、四、五、六为位置编号,┃┃二、三、四号位置为前排,一、六、五号位为后排。
第1章习题参考答案1. 答:人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学,即用人工的方法在机器(计算机)上实现的智能;或者说是人类智能在机器上的模拟,因此又可称之为机器智能。
是在计算机科学、控制论、信息论、神经心理学、哲学、语言学等多学科研究的基础上发展起来的综合性很强的交叉学科,是一门新思想、新观念、新理论、新技术不断出现的新兴学科,也是正在迅速发展的前沿学科。
2. 答:专注于实现AI指名功能的人工智能学派成为符号主义,即只要在符号计算上实现了相应的功能,那么在现实世界就实现了对应的功能,这是智能的充分必要条件。
因此,符号主义认为,只要在机器上是正确的,现实世界就是正确的。
专注于实现AI指心功能的人工智能学派称为连接主义,连接主义认为大脑是一切智能的基础,主要关注于大脑神经元及其连接机制,试图发现大脑的结构及其处理信息的机制、揭示人类智能的本质机理,进而在机器上实现相应的模拟。
专注于实现AI指物功能的人工智能学派成为行为主义,行为主义假设智能取决于感知和行动,不需要知识、表示和推理,只需要将智能行为表现出来就好,即只要能实现指物功能就可以认为具有智能了。
3. 答:知识的基本单位是概念。
精通掌握任何一门知识,必须从这门知识的基本概念开始学习。
而知识自身也是一个概念。
第2章习题参考答案1. 答:知识是人们在长期的生活及社会实践中、在科学研究及实验中积累起来的对客观世界的认识与经验。
知识是符合文明方向的、人类对物质世界以及精神世界探索的结果总和。
知识具有相对正确性、不确定性、可表示性与可利用性的特性。
2. 答:谓词逻辑是基于命题中谓词分析的一种逻辑。
个体表示某个独立存在的事物或者某个抽象的概念。
个体变量的取值范围称为个体域。
个体域可以是有限的,也可以是无限的。
谓词的真值是“真”或“假”,而函数的值是个体域中的某个个体,函数无真值可言,它只是在个体域中从一个个体到另一个个体的映射。
搜索引擎考试题目及答案一、单项选择题(每题2分,共20分)1. 搜索引擎的基本功能是()。
A. 信息发布B. 信息检索C. 信息存储D. 信息处理答案:B2. 以下哪个不是搜索引擎的类型?()A. 目录式搜索引擎B. 元搜索引擎C. 垂直搜索引擎D. 社交搜索引擎答案:D3. 搜索引擎优化(SEO)的主要目的是()。
A. 提高网站访问量B. 提高网站排名C. 提高网站知名度D. 提高网站安全性答案:B4. 在搜索引擎中,以下哪个因素不会影响网页排名?()A. 关键词密度B. 网站内容质量C. 网站访问速度D. 网站颜色搭配答案:D5. 以下哪个不是搜索引擎营销(SEM)的组成部分?()A. 搜索引擎优化(SEO)B. 付费搜索广告C. 社交媒体营销D. 内容营销答案:C6. 搜索引擎结果页面(SERP)中,以下哪个因素对用户点击行为影响最大?()A. 网页标题B. 网页描述C. 网页URLD. 网页排名答案:A7. 以下哪个不是搜索引擎的索引方式?()A. 倒排索引B. 正排索引C. 混合索引D. 顺序索引答案:D8. 搜索引擎爬虫(Spider)的主要任务是()。
A. 抓取网页B. 分析网页内容C. 存储网页数据D. 索引网页信息答案:A9. 以下哪个不是搜索引擎的排序算法?()A. PageRankB. TrustRankC. 机器学习算法D. 线性算法答案:D10. 搜索引擎的用户体验优化(UXO)主要关注()。
A. 网站设计B. 网站功能C. 用户满意度D. 用户行为分析答案:C二、多项选择题(每题3分,共15分)11. 搜索引擎优化(SEO)的常见策略包括()。
A. 关键词研究B. 网站结构优化C. 内容营销D. 社交媒体推广E. 付费广告答案:ABC12. 搜索引擎营销(SEM)的目标包括()。
A. 提高品牌知名度B. 增加网站流量C. 提升转化率D. 降低营销成本E. 提高用户满意度答案:ABC13. 搜索引擎结果页面(SERP)中,以下哪些因素可能影响网页排名?()A. 网站权威性B. 用户行为数据C. 网页加载速度D. 网站安全性E. 网页设计美观度答案:ABCD14. 搜索引擎爬虫(Spider)在抓取网页时,可能会遇到的问题包括()。
第一题 跳 棋(1.PAS)
题目:跳棋的原始状态如下图。其中"0"表示空格,"-"表示白子,"+"表示黑子,"1—
—7"表示棋盘格编号。跳棋的规则是:
⒈任意一个棋子可移到相邻的空位上;
⒉可跳过一个或两个棋子到空位上,与跳过的棋子的颜色无关;
⒊棋子向左向右跳不限。
例如:4到1、5到4、3到5、6到3是成功的四步走法。请编一程序,用10步完成从
原始状态跳变成目标状态。要求打印跳每一步后的状态,用数字表示棋盘格子的代号。如果
有多种方法,请都分别打印出来。
1 2 3 4 5 6 7
原始位置 0 - - - + + +
目标位置 + + + - - - 0
输入:原始位置和目标位置,分别占一行,共两行。
0 - - - + + + (原始位置)
+ + + - - - 0(目标位置)
输出:10步完成从原始状态跳变成目标状态的过程
START:0 - - - + + +
NO.1:- 0 - - + + +
NO.2:- + - - 0 + +
……
NO.10:+ + + - - - 0
END
输入输出样例:
1.IN 1.OUT
0 - - - + + + + + + - - - 0 START:0 - - - + + +
NO.1:- 0 - - + + +
NO.2:- + - - 0 + +
……
NO.10:+ + + - - - 0
END
(注意:输入和输出的相邻两个棋子之间没有空格)
分析:
⒈数据库:数组g构成堆栈,存放棋子的状态。
⒉结点的产生:与空位置间距-3到3的棋子可移入空位,生成新结点状态。
⒊搜索策略:含有深度界限的深度优先搜索。
program ex143_2;
type
status=string[7];
{const
start='0---+++';
obj='+++---0';}
var
g: array [0..10] of status;
i,j,k: integer;
start,obj:string;
fin,fout:text;
procedure draw;{输出}
var
i,j: integer;
begin
writeln(fout,'Start:',start);
for i:=1 to 10 do
writeln(fout,'No.',i,':',g[i]);
writeln(fout,'End');
end;
function exampass(w: integer): boolean;{判断有否重复状态}
var
i: integer;
begin
for i:=1 to w-1 do
if g[i]=g[w] then begin
exampass:=false;
exit;
end;
exampass:=true;
end;
procedure run(t: integer);{搜索生成新结点}
var
i,k: integer;
begin
k:=pos('0',g[t-1]);
for i:=-3 to 3 do
if (i<>0) and (k+i>=1) and (k+i<=7) then begin
g[t]:=g[t-1];
g[t,k]:=g[t,k+i]; g[t,k+i]:='0';
if exampass(t) then
if g[t]=obj then draw
else
if t<10 then run(t+1);
end;
end;
begin
assign(fin,'1.in');
assign(fout,'1.out');
reset(fin);
rewrite(fout);
readln(fin,start);
readln(fin,obj);
close(fin);
g[0]:=start;
run(1);
close(fout);
end.
第二题 跳马程序(2.PAS)
题目:在5*5格的棋盘上,从(1,1)点出发,按日字跳马,要求不重复地跳经所有方
格。求出符合要求的所有跳马方案总数N。
输入: 无
输出:前5行表示第一种移动方案。分别是5*5格棋盘每个方格被马通过时属于方案
中的第几步。
第六行一个值N,表示马不重复地跳经所有方格方案总数
输入输出样例:
1
2
4
3
1
1 2 3 4
5
2
3
4
5
2.IN 2.OUT
1 16 11 22 25
10 21 24 17 12
15 2 9 6 23
20 7 4 13 18
3 14 19 8 5
25 (任意范例,可能不准确)
program horse;
var
a:array[1..5,1..5] of integer; {记每一步走在棋盘的哪一格}
b:array[1..5,1..5] of boolean; {棋盘的每一格有没有被走过}
u,v:array[1..8] of integer; {8个方向上的x,y增量}
i,j,num:integer;
fout:text;
procedure print; {打印方案}
var
k,kk:integer;
begin
num:=num+1; {统计总方案}
if num=1 then {打印出前5种方案}
begin
for k:=1 to 5 do {打印本次方案}
begin
for kk:=1 to 5 do write(fout,a[k,kk],' ');
writeln(fout,'');
end;
end;
end;
procedure try(i,j,n:integer); {以每一格为阶段,在每一阶段中试遍8个方向}
var
k,x,y:integer; {这三个变量一定要定义局部变量}
begin
if n>25 then begin print; exit;end ; {达到最大规模打印、统计方案}
for k:=1 to 8 do {试遍8个方向}
begin
x:=i+u[k]; y:=j+v[k] ; {走此方向,得到的新坐标}
if (x<=5) and (x>=1) and (y<=5) and (y>=1)and b[x,y] then {如果新坐标在棋盘上,
并且这一格可以走}
begin
b[x,y]:=false;
a[x,y]:=n;
try(x,y,n+1); {从(x,y)去搜下一步该如何走}
b[x,y]:=true;
a[x,y]:=0;
end;
end;
end;
begin
assign(fout,'2.out');
rewrite(fout);
u[1]:=1; v[1]:=-2; {8个方向的x,y增量}
u[2]:=2; v[2]:=-1;
u[3]:=2; v[3]:=1;
u[4]:=1; v[4]:=2;
u[5]:=-1; v[5]:=2;
u[6]:=-2; v[6]:=1;
u[7]:=-2; v[7]:=-1;
u[8]:=-1; v[8]:=-2;
for i:=1 to 5 do {初始化}
for j:=1 to 5 do
begin
a[i,j]:=0;
b[i,j]:=true;
end;
a[1,1]:=1; b[1,1]:=false; {从(1,1)第一步开始走}
try(1,1,2); {从(1,1)开始搜第2步该怎样走}
writeln(fout,num); {输出总方案(304)}
close(fout);
end.