当前位置:首页 >> 学科竞赛 >>

program tm.高中生信息技术竞赛经典算法


program tm(output);

label ss,hs; type sz=array[0..4,0..8] of integer; var g:array[1..50] of integer; a,b:array[1..4] of integer; {大约在 50 步以内完成} {a,b 是 4 个方向上的坐标的行、列增量数组}

>m:array[1..50,1..2] of integer; {m 数组存路线上各点的坐标} p:sz; i,j,t,x,y,s,hn,ln:integer; {p 数组记录棋盘上各点是第几步走到的}

procedure pr(h:sz;hn,ln:integer); var i,j:integer; begin for i:=0 to hn do begin for j:=0 to ln do

{打印每一种方案中的 p 数组}

if h[i,j]<>0 then write(h[i,j]:3) else write('-':3); writeln; end; writeln('---------------------------------------'); end;

begin {main} { clrscr;} write('hn,ln='); readln(hn,ln); {设定棋盘的行、列数,此处一般输入 4,8} for i:=0 to hn do

for j:=0 to ln do p[i,j]:=0; writeln('t=0'); pr(p,hn,ln); a[1]:=2;b[1]:=1; a[2]:=1;b[2]:=2; a[3]:=-1;b[3]:=2; a[4]:=-2;b[4]:=1; t:=1;s:=0;x:=0;y:=0;m[t,1]:=x;m[t,2]:=y;p[hn-x,y]:=t; writeln('t=',t);pr(p,hn,ln); ss: repeat g[t]:=g[t]+1; {方向数增 1} {若方向超界,则换向搜索} {若未超界,则按此步试探的方向生成下一步可能的 {开始搜索} {搜索初始化} {b[]---lie zen liang a[]---hang zen liang}

if g[t]>4 then goto hs; i:=x+a[g[t]];j:=y+b[g[t]]; 落脚点坐标}

if (i<=hn) and (i>=0) and (j<=ln) and (j>=0) then 一步,保存该点坐标和步数} begin t:=t+1; m[t,1]:=i;m[t,2]:=j; x:=i;y:=j; p[hn-x,y]:=t; end; until (x=hn) and (y=ln); {print} {直到到达右上角为止}

{若该点在棋盘内,则前进

for i:=1 to t do write('(',m[i,1],',',m[i,2],')->'); {打印这条路径} s:=s+1; writeln(t,'====',s);

pr(p,hn,ln); readln; hs:

{调用过程打印该路径对应的棋盘路线图} {本句目的使 运行结果由手工控制,按一次回车,出一个结果} {开始回溯}

p[hn-x,y]:=0; {最后一步的 p 数组元素置零} g[t]:=0; t:=t-1; {最后一步方向清零} {回溯一步}

if t>0 then begin x:=m[t,1];y:=m[t,2];goto ss ;end {若未到起点,则调出第 t 步 的坐标 x,y 然后转搜索} else writeln('end') end. {否则 可行方案寻找完毕}


相关文章:
program sdss 高中生信息技术竞赛经典算法
program zmg.高中生信息技... 3页 10财富值 program tm.高中生信息技术......program sdss 高中生信息技术竞赛经典算法 隐藏>> program sdss_8hh(input,output...
深搜全排列.高中生信息技术竞赛经典算法
深搜全排列.高中生信息技术竞赛经典算法_其它课程_高中教育_教育专区。有详细注解 {深搜全排列} program qpl(input,output); uses crt; label ss ,hs; var a...
高中信息技术《算法与程序设计VB(选修)》
高中信息技术算法与程序设计VB(选修)》_其它课程_高中教育_教育专区。高中信息技术辅导一、算法(1) 、计算机解决问题的过程 计算机程序(Computer Program)是计算机...
高中信息技术 全国青少年奥林匹克联赛教案 枚举法二
高中信息技术 全国青少年奥林匹克联赛教案 枚举法二_...上述枚举算法枚举了所有 4 =262144 个状态,运算量...程序如下: program IOI94_4; const Inp = '...
2014信息奥赛初赛模拟练习(一)
2014信息奥赛初赛模拟练习(一)_学科竞赛_小学教育_教育...在下列各种排序算法中,不是以“比较”作为主要操作...program j304; type str1=string[100]; str2=...
信息学竞赛初中组初赛模拟试题
信息竞赛初中组初赛模拟试题_学科竞赛_初中教育_...A)6 B)8 C)7 D)4 E)3 -1- 11.算法的...program p(output); var k,n:integer q (a:...
信息学奥赛试题及答案
信息奥赛试题及答案_学科竞赛_高中教育_教育专区。...算法的每一步骤必须有确切的定义 17.下列逻辑运算...program t4; const u:array[1..4] of integer ...
noip 初赛模拟试卷
在待排序的数据表已经为有序时,下列排序算法中花费...(C)信息技术 (D)信息采集 (E)信息存储 19.在 ...program text3(input,output); var n:integer; ...
2014年辽宁省学业水平考试信息技术真题及答案(必修+多媒体技术)
个人计算机配置清单 Intel (R) Core (TM) i3 3....设计算法 B.验证结果 C.调试运行 D.分析问题 24....年辽宁省普通高中学生学业水平考试 信息技术试卷(答案...
更多相关标签:
全国高中生英语竞赛 | 全国高中生物理竞赛 | 全国高中生数学竞赛 | 2016年高中生英语竞赛 | 全国高中生化学竞赛 | 高中生英语竞赛 | 高中生数学建模竞赛 | 高中生物理竞赛 |