广度优先搜索.doc

广度优先搜索.doc

ID:57612686

大小:45.50 KB

页数:8页

时间:2020-08-29

广度优先搜索.doc_第1页
广度优先搜索.doc_第2页
广度优先搜索.doc_第3页
广度优先搜索.doc_第4页
广度优先搜索.doc_第5页
资源描述:

《广度优先搜索.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、广度优先搜索5、细胞(cell.pas)【问题描述】一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如阵列:0234500067103456050020456006710000000089有4个细胞。【输入格式】整数m,n(m行,n列)矩阵【输出格式】细胞的个数。【输入样例】cell.in4100234500067103456050020456006710000000089【输出样例】cell.out4【参考程序】const   di:array[1..4]of-1..1=(0,0,-1,1);   dj:

2、array[1..4]of-1..1=(1,-1,0,0);varm,n:byte;   b:array[0..51,0..61]ofboolean;   que:array[1..3000]ofrecordi,j:byte;end;   num:word;procedureinit;vari,j:byte;   ch:char;begin   assign(input,'cell.in');reset(input);   fillchar(b,sizeof(b),false);   num:=0;   readln(m,n);   fori:=1tomdo       begin   

3、        forj:=1tondo               begin                   read(ch);                   ifch<>'0'thenb[i,j]:=true;               end;           readln;       end;   close(input);end;{init}procedurefind(newi,newj:byte);vark:byte;   head,tail:word;begin   b[newi,newj]:=false;   inc(num);   withque[1

4、]dobegini:=newi;j:=newj;end;   head:=0;tail:=1;   repeat       inc(head);       fork:=1to4do           if(que[head].i+di[k]in[1..m])and(que[head].j+dj[k]in[1..n])and(b[que[head].i+di[k],que[head].j+dj[k]])then               begin                   inc(tail);                   withque[tail]dobegin

5、i:=que[head].i+di[k];j:=que[head].j+dj[k];end;                   b[que[tail].i,que[tail].j]:=false;               end;   untilhead=tail;end;{find}procedurework;vari,j:byte;begin   fori:=1tomdo       forj:=1tondo           ifb[i,j]thenfind(i,j);end;{work}procedureprint;begin   assign(output,'cell.

6、out');rewrite(output);   writeln(num);   close(output);end;{print;}begin{main}   init;   work;   print;end.6、营救【问题描述】铁塔尼号遇险了!他发出了求救信号。距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里。通过侦测,哥伦比亚号获取了一张海洋图。这张图将海洋部分分化成n*n个比较小的单位,其中用1标明的是陆地,用0标明是海洋。船只能从一个格子,移到相邻的四个格子。为了尽快赶到出事地点,哥伦比亚号最少需要走多远的距离。【输入格式】第一行为n,下面是一个n*n的0、1矩

7、阵,表示海洋地图最后一行为四个小于n的整数,分别表示哥伦比亚号和铁塔尼号的位置。【输出格式】哥伦比亚号到铁塔尼号的最短距离,答案精确到整数。【输入样例】save.in30011011001133【输出样例】save.out4【数据范围】N<=1000【参考程序】const   dx:array[1..4]ofshortint=(1,-1,0,0);   dy:array[1..4]ofshortint=(0,0,-1,1);varn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。