EOJ 3260 袋鼠妈妈找孩子 题解
来源:互联网 发布:在线教学软件 编辑:程序博客网 时间:2024/06/10 09:02
题意
袋鼠妈妈找不到她的孩子了。她的孩子被怪兽抓走了。
袋鼠妈妈现在在地图的左上角,她的孩子在地图第 x 行第 y 列的位置。怪兽想和袋鼠妈妈玩一个游戏:他不想让袋鼠妈妈过快地找到她的孩子。袋鼠妈妈每秒钟可以向上下左右四个方向跳一格(如果没有墙阻拦的话),怪兽就要在一些格子中造墙,从而完成一个迷宫,使得袋鼠妈妈能够找到她的孩子,但最快不能小于 k 秒。
请设计这样一个迷宫。
思路
由于数据范围较小,可采取dfs搜索,需要注意的是,每走到一格要求它周围最多有一格被走过(也就是路径的上一步),为保证能搜到全部路径,需要在return前将used记为false
代码
#include <cstdio>char mp[9][9];bool used[9][9],f;int n,m,x,y,k;void dfs(int nowx,int nowy,int step){ int cnt=0; if(nowx>0) cnt+=used[nowx-1][nowy]; if(nowx<n-1) cnt+=used[nowx+1][nowy]; if(nowy>0) cnt+=used[nowx][nowy-1]; if(nowy<m-1) cnt+=used[nowx][nowy+1]; if(nowx<0||nowx>=n||nowy<0||nowy>=m||used[nowx][nowy]||cnt>1) return; //printf("%d %d %d\n",nowx,nowy,step); used[nowx][nowy]=true; if(nowx==x&&nowy==y&&step>=k) { mp[nowx][nowy]='.'; f=true; used[nowx][nowy]=false; return; } dfs(nowx-1,nowy,step+1); if(f) { mp[nowx][nowy]='.'; used[nowx][nowy]=false; return; } dfs(nowx+1,nowy,step+1); if(f) { mp[nowx][nowy]='.'; used[nowx][nowy]=false; return; } dfs(nowx,nowy-1,step+1); if(f) { mp[nowx][nowy]='.'; used[nowx][nowy]=false; return; } dfs(nowx,nowy+1,step+1); if(f) { mp[nowx][nowy]='.'; used[nowx][nowy]=false; return; } used[nowx][nowy]=false; return;}int main(){ scanf("%d%d",&n,&m); scanf("%d%d%d",&x,&y,&k); x--; y--; for(int i=0;i<n;i++) for(int j=0;j<m;j++) mp[i][j]='*'; dfs(0,0,0); for(int i=0;i<n;i++) printf("%s\n",mp[i]);}
0 0
- EOJ 3260 袋鼠妈妈找孩子 题解
- EOJ 3260:袋鼠妈妈找孩子
- EOJ 3260袋鼠妈妈找孩子 (DFS)
- EOJ 3260袋鼠妈妈找孩子(dfs路径查找(过程优化))
- EOJ 3260 大学生程序设计邀请赛(华东师范大学)-C 袋鼠妈妈找孩子
- ecnu 3260 袋鼠妈妈找孩子
- C. 袋鼠妈妈找孩子
- ecnu3260(袋鼠妈妈找孩子)
- EOJ-大学生程序设计邀请赛(华东师范大学)-C-袋鼠妈妈找孩子
- EOJ-大学生程序设计邀请赛(华东师范大学)-C-袋鼠妈妈找孩子
- 大学生程序设计邀请赛(华东师范大学)C:袋鼠妈妈找孩子
- 2017华东师范大学网赛-袋鼠妈妈找孩子
- 袋鼠妈妈找孩子 2017 华东师范大学网赛
- 小蝌蚪找妈妈
- 孩子,抓紧妈妈的手
- 童言稚语-爸爸妈妈都是孩子
- 孩子跟妈妈一起去按摩
- EOJ 3262 黑心啤酒厂 题解
- 嵌入式LinuxC编程之进程控制(一)
- 需求分析
- 在Kubernetes集群里安装微服务DevOps平台fabric8
- [LeetCode] Count Numbers with Unique Digits 计算各位数值不同的数的个数
- 人的四种认知状态
- EOJ 3260 袋鼠妈妈找孩子 题解
- 基于EEG信号的情绪分析数据库DEAP论文调研
- 4-6 求单链表结点的阶乘和 (15分)
- 嵌入式LinuxC编程之进程控制(二)
- php 中时间函数date及常用的时间计算
- 一天搞定CSS(扩展):CSS Hack
- windows 下安装 NSClient++
- Intellij IDEA 创建GUI界面
- 初识.net界面程序(9)--LINQ To XML