ECNU 3260 - 袋鼠妈妈找孩子

 1 #include<cstdio>
 2 int n,m,x,y,k;
 3 struct Point{
 4     int x,y;
 5 }st,ed;
 6 bool vis[10][10],flag;
 7 int dx[4]={0,-1,0,1};
 8 int dy[4]={1,0,-1,0};
 9 bool is_in(int x,int y)
10 {
11     if(1<=x && x<=n && 1<=y && y<=m) return 1;
12     else return 0;
13 }
14 bool judge(Point now)
15 {
16     Point next;
17     int cnt=0;
18     for(int i=0;i<4;i++)
19     {
20         next.x=now.x+dx[i];
21         next.y=now.y+dy[i];
22         if(is_in(next.x,next.y) && vis[next.x][next.y]) cnt++;
23     }
24     if(cnt<=1) return 1;
25     else return 0;
26 }
27 void dfs(Point now,int step)
28 {
29     if(flag) return;
30     if(now.x==ed.x && now.y==ed.y)
31     {
32         if(step>=k)
33         {
34             flag=1;
35             vis[now.x][now.y]=1;
36         }
37         return;
38     }
39     vis[now.x][now.y]=1;
40     Point next;
41     for(int i=0;i<4;i++)
42     {
43         next.x=now.x+dx[i];
44         next.y=now.y+dy[i];
45         if(is_in(next.x,next.y)&&!vis[next.x][next.y]&&judge(next))
46         {
47             dfs(next,step+1);
48             if(flag==0) vis[next.x][next.y]=0;
49         }
50     }
51     return;
52 }
53 int main()
54 {
55     scanf("%d%d%d%d%d",&n,&m,&x,&y,&k);
56     st.x=1, st.y=1;
57     ed.x=x, ed.y=y;
58     flag=0;
59     for(int i=0;i<=9;i++)
60     {
61         for(int j=0;j<=9;j++)
62         {
63             if(is_in(i,j)) vis[i][j]=0;
64             else vis[i][j]=1;
65         }
66     }
67     dfs(st,0);
68     for(int i=1;i<=n;i++)
69     {
70         for(int j=1;j<=m;j++)
71         {
72             printf("%c",(vis[i][j]==1)?‘.‘:‘*‘);
73         }
74         printf("\n");
75     }
76 }
时间: 2024-10-23 05:35:11

ECNU 3260 - 袋鼠妈妈找孩子的相关文章

ECNU 3260 袋鼠妈妈找孩子(dfs)

链接:http://acm.ecnu.edu.cn/problem/3260/ 题意: 给出一个x,y,k.求从左上角到(x,y)最短路径不少于k而且最快到达(x,y)的迷宫.(迷宫有多个 输出其中一个就行) 分析: 因为数据量很少,而且限时很宽,可以考虑dfs.限制是每个要走的格四个方向只能有一个走过的格,其实就是上一个走到这个格子的格,因为如果有多于一个相邻的格子,那么就会从另一个格子走到这格而不是从另一个格子走到上一个格子再走到这格,所以限制条件是成立的. #include <bits/s

EOJ 3260 袋鼠妈妈找孩子

暴力搜索. 主要目的就是找到任意一条路径,使得路径长度大于等于$k+1$,写个爆搜发现很快能出解.判断某点是否可走,需要看四周有没有已经走过的点的$dis$比这个点的$dis$小$2$或者$2$以上. #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> using namespace std; int dis[10][10]; int dir[4][2]= {

狗妈妈叼着“寻狗启事”牌找走失小狗

“我叫爱迪,我的‘女儿’两个半月大.6日5时许,它在哈达湾街与铁西路交会处附近的加油站旁走失了,我和主人着急上火,一宿没睡,哪位好心人看到了,请帮忙找找,主人必有酬谢!”网友爆料 狗妈妈早市叼牌找孩子 7日14时许,网友“吉林市秧歌队的”发帖称,通江街早市上,有一只狗妈妈坐在市场头,叼着一块牌子在找孩子呢,看着可可怜了.狗妈妈可懂事儿了,不时张望四周.可以看出眼圈略有眼泪流过的感觉.据狗的主人说,小狗6日失踪以后,大狼狗就不吃东西,一宿没睡. 主人讲述 遛狗回家路上 小狗走失 昨日,记者拨打了狗

找树的根和孩子

[问题描述] 给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子[输入格式] 第一行:n(结点数<=100),m(边数<=200). 以下m行:每行两个结点x和y,表示y是x的孩子(x,y<=1000).[输出格式] 第一行:树根:root. 第二行:孩子最多的结点max.第三行:max的孩子.[输入样例] 8 7 4 1 4 2 1 3 1 5 2 6 2 7 2 8[输出样例] 4 2 6 7 8 [参考程序] 1 #include<iostream> 2

怎样才能长高 让孩子快速长高的好方法

现在的家长朋友们除了关心孩子的身体健康以外,最关心的就是孩子的身高问题,但是有什么好的方法可以让孩子的身体长高呢?这是每位家长都关心的问题.有关专家提醒家长朋友们,想要让孩子随意的玩耍是可以的,但是一定要给孩子制定一套系统的运动方式,这样才更有利于孩子的成长,因为在平时的活动或者是运动的时候,使用的肌肉群是不一样的,而且每天的运动时间最好是保证在半个小时以上,因为生长激素在开始运动30分钟后分泌最旺盛. 运动是快乐的游戏而不是义务性的活动 大部分孩子都会散漫.集中力差,所以只要觉得不好玩了就会马

【读书】俞敏洪:斤斤计较的家庭走不出胸怀博大的孩子 2015-11-15 22:03:43

决定孩子成功的最重要的因素是什么?不是我们给幼年的孩子灌输了多少知识,而是在于能否帮助孩子培养一系列的重要性格特质. 1.父母的心平气和是孩子成长的最大养分 我们往往喜欢把自己的孩子和别人的孩子做比较,但我觉得这是不可比的.每个孩子都是独立的个体,就像一棵独立的树,全世界每棵树长成一样的时候,这个世界的光辉就没有了. 家庭教育既难,又不难.前两天我读到一篇文章,父母的心平气和是孩子成长的最大养分.父母如果随着自己的情绪好坏来教育孩子的话,那么这个孩子成长过程中一定无所依从,他搞不清楚到底想要什么

不要做中国人的孩子

http://jianshu.io/p/CGxqqs[三四年前的旧文,和昨天发的对照一下,BTW,之后我也让她学起了钢琴] 别紧张,我要说的不是昨天两年半的那事儿. 反正我没有见过一个国家这么憎恶孩子,也知道那些躲过了三聚氰胺大头奶粉神经病人而艰难长大的孩子,那些冒着大雨给伞下安坐的领导献舞的孩子,那些在缺乏公平公正的教育体制和教育者歧视或宠爱下扭曲成长的孩子,如果没能成功,最终毁了他们的也不是杨教授说的网瘾. 言归正传,三件事: 第一是好久以前,一群同事在一起讨论自杀的孩子,说有一个女孩,考上

母亲的言行影响孩子一生

有一天,一位身为大学教师的朋友跟我聊起他那上小学三年级的孩子,夫妻两个都是博士,朋友的妻子还是“海龟”,可儿子的成绩是班级倒数第一,他问我为什么,我说主要你的夫人太能干了.他还以为是开玩笑呢,认为我在指他夫人忙于事业,就说,没有,我老婆每天陪他写作业,就是每次不到五分钟,就火冒三丈,对着孩子大叫“你怎么这么笨!”.我说,你看,问题就出在这里,你儿子的母亲太聪明了,他这么小怎么可能比他母亲聪明呢? 不知大家是否留心过很多名人传记中是怎样描写母亲的:母亲温柔.贤淑.善解人意,她始终默默地为孩子奉献而

51nod - 1420 - 数袋鼠好有趣 - 贪心 - 二分

https://www.51nod.com/Challenge/Problem.html#!#problemId=1420 一开始乱搞了一发,每个袋鼠二分找最小的能放它的,然后二分的范围从下一个开始保证不会把两个小袋鼠装在同一个里面,还过了一半的数据-- 然后才发现袋鼠并不能嵌套.想打vis标记大袋鼠跳过大袋鼠,然后样例都过不了. 又想了半天网络流,流个鬼鬼流. 看了一下别人的提示,贪心加二分. 好像我误解了别人的贪心加二分,跑得比别人还快快. 明显选的袋鼠一定是最小的那波,这样最优. 然后二分