hdu 4740
老虎左拐,老鼠右拐,碰到不能走的拐一次,如果还不能走就停下,自己走过的不能走,求相遇的坐标或-1
一个停下之后,另一个还可以走
#include <cstdio>
#include <cstring>
using namespace std;
#define N 1005
struct node
{
int x,y;
}p[N*N],q[N*N];
int visi[N][N],xy[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int n;
int donkey(int x,int y,int d)
{
int step=1;
while(!visi[x][y]&&x<n&&x>=0&&y<n&&y>=0)
{
p[step].x=x;p[step++].y=y;
visi[x][y]=1;
x=x+xy[d][0];y=y+xy[d][1];
if(visi[x][y]||x<0||x>=n||y>=n||y<0)
{
x=x-xy[d][0];y=y-xy[d][1];
d=(d+1)%4;
x=x+xy[d][0];y=y+xy[d][1];
if(visi[x][y]||x<0||x>=n||y>=n||y<0) break;
} }
return step-1;
} int tiger(int x,int y,int d)
{
int step=1; while(!visi[x][y]&&x<n&&x>=0&&y<n&&y>=0)
{
q[step].x=x;q[step++].y=y;
visi[x][y]=1;
x=x+xy[d][0];y=y+xy[d][1];
if(visi[x][y]||x<0||x>=n||y>=n||y<0)
{
x=x-xy[d][0];y=y-xy[d][1];
d=(d+3)%4;
x=x+xy[d][0];y=y+xy[d][1];
if(visi[x][y]||x<0||x>=n||y>=n||y<0) break;
} }
return step-1;
} int main()
{
int i,j,r1,c1,d1,r2,c2,d2,s1,s2,flag;
while(scanf("%d",&n),n)
{
scanf("%d%d%d",&r1,&c1,&d1);
scanf("%d%d%d",&r2,&c2,&d2);
memset(visi,0,sizeof(visi));
s1=donkey(r1,c1,d1);
memset(visi,0,sizeof(visi));
s2=tiger(r2,c2,d2);
i=1;
flag=0;
while(i<=s1||i<=s2)
{
if(i>s1) {p[i].x=p[i-1].x;p[i].y=p[i-1].y;}
if(i>s2) {q[i].x=q[i-1].x;q[i].y=q[i-1].y;}
if(p[i].x==q[i].x&&p[i].y==q[i].y)
{
printf("%d %d\n",p[i].x,p[i].y);
flag=1;
break;
}
i++;
}
if(!flag) printf("-1\n");
/* printf("%d\n",s2); for(i=1;i<=s2;i++)
{
printf("%d %d\n",q[i].x,q[i].y);
}
*/
}
return 0;
}
hdu 4740的更多相关文章
- hdu 4740 The Donkey of Gui Zhou bfs
The Donkey of Gui Zhou Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproble ...
- hdu 4740 The Donkey of Gui Zhou(暴力搜索)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740 [题意]: 森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次 ...
- hdu 4740【模拟+深搜】.cpp
题意: 给出老虎的起始点.方向和驴的起始点.方向.. 规定老虎和驴都不会走自己走过的方格,并且当没路走的时候,驴会右转,老虎会左转.. 当转了一次还没路走就会停下来.. 问他们有没有可能在某一格相遇. ...
- hdu 4740 The Donkey of Gui Zhou(dfs模拟好题)
Problem Description There was no donkey ,) , the down-right cell ,N-) and the cell below the up-left ...
- HDU 4740 The Donkey of Gui Zhou (模拟)
由于一开始考虑的很不周到,找到很多bug.....越改越长,不忍直视. 不是写模拟的料...................... 反正撞墙或者碰到已经走过的点就会转向,转向后还碰到这两种情况就会傻站 ...
- HDU 4740 模拟题意
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11711743 题意:驴和老虎在方格中跑,跑的方式:径直跑,若遇到边界或之前走过的 ...
- hdu 4740 The Donkey of Gui Zhou
1.扯犊子超多if else 判断的代码,华丽丽的TLE. #include<stdio.h> #include<string.h> #define N 1010 int ma ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
随机推荐
- OTCL的多继承
Class Thing Class Animal Class Other -superclass {Animal Thing} Thing instproc init {args} { puts &q ...
- Oracle EBS-SQL (QA-3):检查已检验未入库.sql
DEFINE RECE="%" SELECT rsh.receipt_num 收据号, ...
- Outlook2007、2010和Foxmail的簽名設計
由於個人習慣問題公司大部分人採用第三方郵件工具,對與郵件的通訊設置大家完全可以通過嚮導完成,但是郵件的簽名設計往往隐藏了起来,现在就由我来带大家进行个性签名设计. Outlook2007 第一步: 点 ...
- Code repo
http://www.oschina.net/news/15806/20-opensource-host-websites/
- OSCHina技术导向:web内容管理系统Magnolia
Magnolia简介: Magnolia CMS是一家瑞士公司自2003年起发布的一个基于Java的开源内容管理系统.它适合且已被使用在以下领域:电子商务(例如:COOP.Migros.Rossman ...
- sql 中的 indexOf 与 lastIndexOf
DECLARE @Name NVARCHAR (50)SET @Name = '12345.67890ABCDE.FGHIJKLMNOPQRSTUVWXYZTest' DECLARE @Positio ...
- js原生 + jQuery实现页面滚动字幕
js原生/jQuery实现页面滚动字幕效果 17:45:49 在新闻列表或者文章列表信息等页面中很容易要求实现字幕滚动的效果,以下为简单的实现页面中滚动字幕的效果 1.jQuery实现页面滚动字幕效果 ...
- Web服务器压力测试一例
近期部门新上线一个服务,我们使用ab和locust分别测试 目前项目属于demo阶段,对访问量的支持不要求太高,我们暂且设定在500请求,20并发 工具介绍 ab ab全称为:Apache HTTP ...
- 奇妙的算法之LCS妙解
LCS算法妙解 LCS问题简述:最长公共子序列 一个数列 S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则S 称为已知序列的最长公共子序列. LCS问题的分支:最长公共子串 ...
- 【设计模式】学习笔记13:组合模式(Composite)
本文出自 http://blog.csdn.net/shuangde800 认识组合模式 上一篇中,我们可以用迭代器来实现遍历一个集合(数组,ArrayList, Vector, HashTabl ...