编程之战 第五十一章 贪吃的河马

小说:编程之战 作者:程序小猿 更新时间:2024-08-06 08:41:20 源网站:顶点小说
  在“动物学家”科勒文的盛情邀请下,杨成来到了非洲的热带草原。

  据说是要考察一种动物的生活习性。

  在那水草丰盛之地,两人潜伏在草丛中,观察来来往往的动物。

  杨成只感觉大地一阵轻微的震颤。

  一头造型憨厚的生物在他们面前大摇大摆,不慌不慢地走过来。

  它有着一对可爱的小耳朵,圆滚滚,q弹的屁股,瞪得圆圆的小眼睛,显得十分温和。

  这显然是一只非洲河马,一种体型庞大却看似人畜无害的动物。

  “伙计,快看!”

  科勒文指着河马的身影,脸上满是欣喜之色。

  “老科,这家伙长这么大,它到底吃得啥子哟?”

  杨成难以置信地看过去。

  “它可不吃肉,只吃些水草”。

  科勒文说着掏出它的老伙计,一个圆圆的仪表盘。

  “你拿出这玩意儿干嘛?”,杨成有些疑惑。

  科勒文指着仪表上的一个个数字,耐心地解释道。

  “我这仪表功能可广着呢,它可以显示出,哪些区域有适合河马食用的水草,你看”。

  杨成定睛一看,发现很多数字0和1组成的区域。

  [1,1,0,0,0],

  [1,1,0,0,0],

  [0,0,0,0,0],

  [0,0,0,1,1],

  [0,0,0,1,1]

  “这是个直观的二维地图,其中1代表有水草的区域,0代表没有水草的区域”。

  “可以看到,地图的左上角和右下角各有一大块水草区,称为大区”。

  “水草区域可以水平或垂直方向连成大区,但无法对角线连成大区”。

  “比如如下就是两块大区”。

  [1,0],

  [0,1]

  “任意给定一个地图,你能找出其中的大区数目吗?”

  杨成拿到这个问题,细细地一思考。

  这应该和之前的奶牛问题有异曲同工之妙。

  先地毯式遍历地图,一旦遇到了水草区域(标记为1的),就从水平,垂直或者说上下左右四个方向搜索相邻的水草区域,这个过程将持续到再也找不到水草区域,是个递归的策略。

  每块水草区域一旦被访问过了,就置为0。

  一旦当前遍历过程再也找不到水草区域,就算作一个大区,继续地毯式搜索,查找下一块水草区域。

  依据上面的算法,左上角第一块大区被找到后,地图是这样:

  [0,0,0,0,0],

  [0,0,0,0,0],

  [0,0,0,0,0],

  [0,0,0,1,1],

  [0,0,0,1,1]

  接着右下角第二块大区被访问完后,地图全屏都为0:

  [0,0,0,0,0],

  [0,0,0,0,0],

  [0,0,0,0,0],

  [0,0,0,0,0],

  [0,0,0,0,0]

  自然而然,大区数目为2块。

  “伙计,代码这么快就出来了”。

  科勒文饶有兴趣地盯着编辑器面板。

  “不过我得好心提醒你,河马每年都会杀死几个有意无意闯入它们地盘的人类”。

  “所以咋们还是做好撤退的打算吧~”
为更好的阅读体验,本站章节内容基于百度转码进行转码展示,如有问题请您到源站阅读, 转码声明
八零电子书邀请您进入最专业的小说搜索网站阅读编程之战,编程之战最新章节,编程之战 顶点小说!
可以使用回车、←→快捷键阅读
本站根据您的指令搜索各大小说站得到的链接列表,与本站立场无关
如果版权人认为在本站放置您的作品有损您的利益,请发邮件至,本站确认后将会立即删除。
Copyright©2018 八零电子书