hdu 4740 The Donkey of Gui Zhou(暴力搜索)
2013-09-15 17:22
513 查看
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740
【题意】:
森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次,都会朝着一个方向走,直到这个方向不能走,然后转向,驴只会右转,老虎只会左转,当转过一次之后还是不能往前走,那么它就停下来不再移动了。。。问驴和老虎是否能相遇在一个坐标点。。。
【题解】:
暴力搜索,模拟过程就能过,不存在超时问题
【code】:
【题意】:
森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次,都会朝着一个方向走,直到这个方向不能走,然后转向,驴只会右转,老虎只会左转,当转过一次之后还是不能往前走,那么它就停下来不再移动了。。。问驴和老虎是否能相遇在一个坐标点。。。
【题解】:
暴力搜索,模拟过程就能过,不存在超时问题
【code】:
/* JudgeStatus:Accepted time:15MS Memory:4212K codeLenght:2591B Language:C++ Author:cj */ #include <iostream> #include <stdio.h> #include <string.h> using namespace std; #define N 1010 int mark ; int n; int cx[]={0,1,0,-1}; int cy[]={1,0,-1,0}; int stop1,stop2; int x,y,flag; void solve(int r1,int c1,int d1,int r2,int c2,int d2) { int x1,y1,x2,y2; x1=r1; y1=c1; x2=r2; y2=c2; while(1) { r1=x1,c1=y1,r2=x2,c2=y2; if(flag) break; if(!stop1) //判断驴是否已经停止移动 { x1=r1+cx[d1]; y1=c1+cy[d1]; if(x1>=0&&x1<n&&y1>=0&&y1<n&&mark[x1][y1]!=1&&mark[x1][y1]!=3) { mark[x1][y1]+=1; } else { d1 = (d1+1)%4; x1=r1+cx[d1]; y1=c1+cy[d1]; if(!(x1>=0&&x1<n&&y1>=0&&y1<n&&mark[x1][y1]!=1&&mark[x1][y1]!=3)) { stop1=1; x1=r1; y1=c1; } else { mark[x1][y1]+=1; } } } if(!stop2) //判断老虎是否已经停止移动 { x2=r2+cx[d2]; y2=c2+cy[d2]; if(x2>=0&&x2<n&&y2>=0&&y2<n&&mark[x2][y2]!=2&&mark[x2][y2]!=3) { mark[x2][y2]+=2; } else { d2 = (d2+3)%4; x2=r2+cx[d2]; y2=c2+cy[d2]; if(!(x2>=0&&x2<n&&y2>=0&&y2<n&&mark[x2][y2]!=2&&mark[x2][y2]!=3)) { stop2=1; x2=r2; y2=c2; } else { mark[x2][y2]+=2; } } } if(x1==x2&&y1==y2) //当老虎和驴相遇 { x=x1; y=y1; flag=1; return ; } if(stop1+stop2==2) //当老虎和驴都停止移动且不在同一坐标,返回不可达 { flag=-1; } } } int main() { while(~scanf("%d",&n)&&n) { int r1,c1,r2,c2,d1,d2; scanf("%d%d%d",&r1,&c1,&d1); scanf("%d%d%d",&r2,&c2,&d2); memset(mark,0,sizeof(mark)); flag=stop1=stop2=0; mark[r1][c1]=1; mark[r2][c2]=2; if(r1==r2&&c1==c2) { printf("%d %d\n",r1,c1); continue; } solve(r1,c1,d1,r2,c2,d2); if(flag==-1) { puts("-1"); } else { printf("%d %d\n",x,y); } } return 0; }
相关文章推荐
- hdu 4740 The Donkey of Gui Zhou dfs 搜索 解题报告
- HDU 4740 The Donkey of Gui Zhou 暴力
- hdu 4740 The Donkey of Gui Zhou
- HDU 4740 The Donkey of Gui Zhou
- hdu 4740 The Donkey of Gui Zhou
- Hdu 4740 The Donkey of Gui Zhou
- hdu 4740 The Donkey of Gui Zhou bfs
- hdu 4740 The Donkey of Gui Zhou
- hdu 4740 The Donkey of Gui Zhou 深搜(2013 ACM/ICPC Asia Regional Hangzhou Online 1003)
- hdu 4740 The Donkey of Gui Zhou
- HDU 4740——The Donkey of Gui Zhou
- HDU 4740 The Donkey of Gui Zhou(模拟)
- HDU 4740 The Donkey of Gui Zhou
- HDU 4740 The Donkey of Gui Zhou
- 【hdu】The Donkey of Gui Zhou(搜索)
- HDU 4740 The Donkey of Gui Zhou
- HDU 4740 The Donkey of Gui Zhou (模拟)
- HDU 4740 The Donkey of Gui Zhou (模拟)
- hdu 4740—€—The Donkey of Gui Zhou
- hdu 4740 The Donkey of Gui Zhou(dfs模拟好题)