已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在上面的迷宫中只有一个入口,有地方是有食物的,现在一只老鼠从入口处进来,要求能找到所有的食物并且打印找到食物的路径。(1)图信息:#define N 8struct ginfoint up,down,left,right;int food,visit; aNN=; (2)记录路径pathN*N;(3)找到食物axy.food=1(4)代码#include stdio.h #include#define N 8int path64,k=0;struct ginfoint up,down,left,right;int food,visit; aNN=0,0,0,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 0,1,1,0,0,0,0,0,0,1,0,0, 0,0,1,1,0,0, 1,0,1,1,0,0, 0,1,1,0,0,0, 0,1,0,0,0,0, 1,1,0,1,0,0, 0,1,1,0,0,0, 1,1,0,0,0,0,0,1,0,0,0,0, 0,1,0,0,0,0, 0,1,0,0,1,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0,1,1,0,0,0,0, 1,1,0,1,0,0, 1,1,1,0,0,0, 1,1,0,1,0,0, 1,0,1,1,0,0, 1,0,1,0,0,0, 1,0,0,0,1,0, 1,1,0,0,0,0,1,1,0,1,0,0, 1,1,1,0,0,0, 1,1,0,0,0,0, 1,0,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,1,1,0,0,0,1,0,0,0,0,0, 1,0,0,0,0,0, 1,1,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0,0,1,0,1,0,0, 0,0,1,1,0,0, 1,0,1,1,0,0, 0,1,1,1,0,0, 0,1,1,1,0,0, 1,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,0,0,0,1,0,0,1,1,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0, 1,0,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0;void print()int i,x=0,y=0;printf(0,0-);for(i=1;i=k;i+)switch(pathi)case 1 :x-;break; case 2 :x+;break; case 3 :y-;break; case 4 :y+;break; if(i,x,y);else printf(%d,%d found!n,x,y);void try1(int x,int y)axy.visit=1;if(axy.food) axy.food=0;print();k+;if(axy.up) pathk=1;/方向为1x-;axy.down=0;if(!axy.visit)try1(x,y);axy.down=1;x+;if(axy.down) pathk=2;/方向为2x+;axy.up=0;if(!axy.visit)try1(x,y);axy.up=1;x-;if(axy.left) pathk=3;/方向为3y-;axy.right=0;if(!axy.visit)try1(x,y);axy.right=1;y+;if(axy.right) pathk=4;/方向为4y+;axy.left=0;if(!axy.visit)try1(x,y);axy.left=1;y-;axy.visit=0;k-;void main() try1(0,0); 深层次问题:找发现食物的更短路。#include stdio.h #include#define N 8int path64,k=0;int fNN=0;struct ginfoint up,down,left,right;int food,visit; aNN=0,0,0,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 0,1,1,0,0,0,0,0,0,1,0,0, 0,0,1,1,0,0, 1,0,1,1,0,0, 0,1,1,0,0,0, 0,1,0,0,0,0, 1,1,0,1,0,0, 0,1,1,0,0,0, 1,1,0,0,0,0,0,1,0,0,0,0, 0,1,0,0,0,0, 0,1,0,0,1,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0,1,1,0,0,0,0, 1,1,0,1,0,0, 1,1,1,0,0,0, 1,1,0,1,0,0, 1,0,1,1,0,0, 1,0,1,0,0,0, 1,0,0,0,1,0, 1,1,0,0,0,0,1,1,0,1,0,0, 1,1,1,0,0,0, 1,1,0,0,0,0, 1,0,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,1,1,0,0,0,1,0,0,0,0,0, 1,0,0,0,0,0, 1,1,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0,0,1,0,1,0,0, 0,0,1,1,0,0, 1,0,1,1,0,0, 0,1,1,1,0,0, 0,1,1,1,0,0, 1,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,0,0,0,1,0,0,1,1,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0, 1,0,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0;void print()int i,x=0,y=0;printf(n0,0 - );for(i=1;i=k;i+)switch(pathi)case 1 :x-;break; case 2 :x+;break; case 3 :y-;break; case 4 :y+;break; if(i ,x,y);else printf(%d,%d food!n,x,y);void try1(int x,int y)axy.visit=1;if(axy.food & !fxy) fxy=k;print();/axy.food=0;if(axy.food & fxyk)fxy=k;printf(nFound a shortest one ); print();k+;if(axy.up) pathk=1;/方向为1x-;axy.down=0;if(!axy.visit)try1(x,y);axy.down=1;x+;if(axy.down) pathk=2;/方向为2x+;axy.up=0;if(!axy.visit)try1(x,y);axy.up=1;x-;if(axy.left) pathk=3;/方向为3y-;axy.right=0;if(!axy.visit)try1(x,y);axy.right=1;y+;if(axy.right) pathk=4;/方向为4y+;axy.left=0;if(!axy.visit)try1(x,y);axy.left=1;y-;axy.visit=0;k-;void main() try1(0,0); 最深层次问题:找发现食物的最短路。#include stdio.h #include stdlib.h #include#define N 8int path64,k=0;struct ginfoint up,down,left,right;int food,visit; aNN=0,0,0,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 0,1,1,0,0,0,0,0,0,1,0,0, 0,0,1,1,0,0, 1,0,1,1,0,0, 0,1,1,0,0,0, 0,1,0,0,0,0, 1,1,0,1,0,0, 0,1,1,0,0,0, 1,1,0,0,0,0,0,1,0,0,0,0, 0,1,0,0,0,0, 0,1,0,0,1,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0, 1,1,0,0,0,0,1,1,0,0,0,0, 1,1,0,1,0,0, 1,1,1,0,0,0, 1,1,0,1,0,0, 1,0,1,1,0,0, 1,0,1,0,0,0, 1,0,0,0,1,0, 1,1,0,0,0,0,1,1,0,1,0,0, 1,1,1,0,0,0, 1,1,0,0,0,0, 1,0,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,1,1,0,0,0,1,0,0,0,0,0, 1,0,0,0,0,0, 1,1,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0,0,1,0,1,0,0, 0,0,1,1,0,0, 1,0,1,1,0,0, 0,1,1,1,0,0, 0,1,1,1,0,0, 1,0,1,1,0,0, 0,0,1,1,0,0, 0,1,1,0,0,0,1,0,0,1,1,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0, 1,0,0,1,0,0, 0,0,1,1,0,0, 0,0,1,1,0,0, 1,0,1,0,0,0;typedef struct pathNodeint x,y,k;int *r;struct pathNode * next;foodRoad;foodRoad * head;foodRoad * searchPath(int x,int y)foodRoad * p=head;while(p)if(p-x = x & p-y = y) return p;p=p-next; return 0;void createHead()head=(foodRoad *)malloc(sizeof(foodRoad);head-next=0;void createPathNode(int x,int y,int k)int i,*pr;foodRoad *p;p=searchPath(x,y);if(p=0)foodRoad *pf;pf=(foodRoad *)malloc(sizeof(foodRoad);pf-x=x;pf-y=y;pf-k=k;pr=(int *)malloc(sizeof(int)*(k+1);pf-r=pr;for(i=1;inext=0;p=head;while(p-next)p=p-next;p-next=pf;else if(p-k k)free(p-r);pr=(int *)malloc(sizeof(int)*(k+1);p-r=pr;p-k=k;for(i=1;inext;int i,x,y,k;while(p)x=0,y=0,k=p-k;printf(n0,0 - );for(i=1;iri)case 1 :x-;break; case 2 :x+;break; case 3 :y-;break; case 4 :y+;break; if(i ,x,y);else printf(%d,%d food!n,x,y);p=p-next;void try1(int x,int y)axy.visit=1;if(axy.food) createPathNode(x,y,k);k+;if(axy.up) pathk=1;/方向为1x-;axy.down=0;if(!axy.visit)try1(x,y);axy.down=1;x+;if(axy.down) pa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国家管网集团高校毕业生招聘考试参考题库(浓缩500题)附参考答案详解(能力提升)
- 2026国网上海市电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题含答案详解
- 2026国网天津市高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题(含答案详解)
- 2026秋季国家管网集团甘肃公司高校毕业生招聘考试备考试题(浓缩500题)及答案详解【有一套】
- 2026秋季国家管网集团液化天然气接收站管理公司高校毕业生招聘考试参考题库(浓缩500题)及答案详解【考点梳理】
- 2026国网广东省电力校园招聘(提前批)笔试模拟试题浓缩500题及答案详解参考
- 2025国网江苏省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题含答案详解(培优b卷)
- 2026国网内蒙古电力校园招聘(提前批)笔试模拟试题浓缩500题参考答案详解
- 2026秋季国家管网集团浙江省天然气管网有限公司高校毕业生招聘考试参考题库(浓缩500题)含答案详解(突破训练)
- 2026国网湖北省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题含答案详解(培优b卷)
- 2025年全国国家版图知识竞赛(中小学组)题库及答案
- 不动产登记员考试试题附答案
- 国家发改委《投资项目可行性研究指南》
- 分子细胞生物学发展史
- 教科版三年级科学上册《-水能溶解多少物质》课件
- 灵芝富硒栽培技术优化及硒含量与活性成分关联性分析
- (正式版)DB32∕T 5146-2025 《农用地微生物土壤调理剂安全施用技术规范》
- 会议外事管理制度内容
- GB/T 37228-2025安全与韧性应急管理突发事件管理指南
- 中医肿瘤诊疗指南
- 济南市招投标管理办法
评论
0/150
提交评论