九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11711743

题意:驴和老虎在方格中跑,跑的方式:径直跑,若遇到边界或之前走过的点则转向,驴向右转,虎向左转,若转向后还不能跑则一直呆着不动,

问:他们是否会相遇,会输出相遇坐标,不会输出-1

#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <string>
#include <vector>
#include <cstdio>
#include <queue>
#include <cmath>
#include <string.h>
#include <assert.h>
#include <stack>
#include <sstream>
#include <map>
#include <set>
#define M 1020
#define LL __int64
using namespace std;
bool vis1[M][M];
bool vis2[M][M];
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0}; int main()
{
int i,j,x1,y1,z1,x2,y2,z2,xx1,yy1,xx2,yy2,n;
bool flag,ok1,ok2;
while(scanf("%d",&n),n)
{
scanf("%d%d%d",&x1,&y1,&z1);
scanf("%d%d%d",&x2,&y2,&z2);
memset(vis1,false,sizeof(vis1));
memset(vis2,false,sizeof(vis2));
ok1=true;
ok2=true;
flag=false;
while(1)
{
if(x1==x2&&y1==y2)
{
flag=true;
break;
}
if(!ok1&&!ok2)
break;
vis1[x1][y1]=true;
vis2[x2][y2]=true;
if(ok1)
{
xx1=x1+dx[z1];
yy1=y1+dy[z1];
if(xx1>=0&&xx1<n&&yy1>=0&&yy1<n&&!vis1[xx1][yy1])
{
x1=xx1;
y1=yy1;
z1=z1;
}
else
{
xx1=x1+dx[(z1+1)%4];
yy1=y1+dy[(z1+1)%4];
if(xx1>=0&&xx1<n&&yy1>=0&&yy1<n&&!vis1[xx1][yy1])
{
x1=xx1;
y1=yy1;
z1=(z1+1)%4;
}
else
{
x1=x1;
y1=y1;
z1=z1;
ok1=false;
}
}
}
if(ok2)
{
xx2=x2+dx[z2];
yy2=y2+dy[z2];
if(xx2>=0&&xx2<n&&yy2>=0&&yy2<n&&!vis2[xx2][yy2])
{
x2=xx2;
y2=yy2;
z2=z2;
}
else
{
xx2=x2+dx[((z2-1)%4+4)%4];
yy2=y2+dy[((z2-1)%4+4)%4];
if(xx2>=0&&xx2<n&&yy2>=0&&yy2<n&&!vis2[xx2][yy2])
{
x2=xx2;
y2=yy2;
z2=((z2-1)%4+4)%4;
}
else
{
x2=x2;
y2=y2;
z2=z2;
ok2=false;
}
}
}
}
if(flag)
{
printf("%d %d\n",x1,y1);
}
else
{
printf("-1\n");
}
}
return 0;
}

HDU 4740 模拟题意的更多相关文章

  1. hdu 4740 The Donkey of Gui Zhou(暴力搜索)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740 [题意]: 森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次 ...

  2. hdu 4740【模拟+深搜】.cpp

    题意: 给出老虎的起始点.方向和驴的起始点.方向.. 规定老虎和驴都不会走自己走过的方格,并且当没路走的时候,驴会右转,老虎会左转.. 当转了一次还没路走就会停下来.. 问他们有没有可能在某一格相遇. ...

  3. 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 ...

  4. HDU 4740 The Donkey of Gui Zhou (模拟)

    由于一开始考虑的很不周到,找到很多bug.....越改越长,不忍直视. 不是写模拟的料...................... 反正撞墙或者碰到已经走过的点就会转向,转向后还碰到这两种情况就会傻站 ...

  5. 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 ...

  6. 2013杭州网络赛C题HDU 4640(模拟)

    The Donkey of Gui Zhou Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  7. hdu 4891 模拟水题

    http://acm.hdu.edu.cn/showproblem.php?pid=4891 给出一个文本,问说有多少种理解方式. 1. $$中间的,(s1+1) * (s2+1) * ...*(sn ...

  8. hdu 5012 模拟+bfs

    http://acm.hdu.edu.cn/showproblem.php?pid=5012 模拟出骰子四种反转方式,bfs,最多不会走超过6步 #include <cstdio> #in ...

  9. 洛谷 P1426 小鱼会有危险吗【模拟/题意理解】

    题目描述 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%.有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是 ...

随机推荐

  1. Qt之界面美化输入框(使用QSS确实非同凡响)

    我们先看下酷狗音乐的输入框效果图: 这里我们需要实现在输入框里面添加一个按钮(多个也一样),并且提供一个默认时候的文字..直接上代码好了. QHBoxLayout *lay = new QHBoxLa ...

  2. Android开源项目(一)

    Android开源项目(一) GitHub在中国的火爆程度无需多~~,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则~~~~了解当下比较流行的Android与iOS开源项 ...

  3. Strata 2014 上的 AzureCAT 粉笔会谈

     本周,AzureCAT 团队非常高兴在 Strata 会议上首次集体亮相.对于那些对 AzureCAT 团队不太熟悉的人来说,我们是 Microsoft 云与企业部门一个核心的国际性团队,由大约 ...

  4. 《Java4Android视频教程》学习笔记(一)

    此为个人的学习笔记,所以不具备太强的学习性,若有错误请谅解,如果能指出我的错误,我将万分感谢~ 一:java历史 java诞生 前身:Oak->java 曾经的名字C++(++--) 原意是在C ...

  5. Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(异常处理和引用计数)

    我们将继续一步一步动手给Python写扩展,通过上一篇我们学习了如何写扩展,本篇将介绍一些高级话题,如异常,引用计数问题等.强烈建议先看上一篇,Python之美[从菜鸟到高手]--一步一步动手给Pyt ...

  6. 对象图(Object Diagram)—UML图(三)

    一.用一张图来介绍一下对象图的基本内容 二.对象图与类图的基本差别 三.对象图实例

  7. Web打印组件jatoolsPrinter(转载)

    应用web化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于web的应用,客户端的规则很简单,容易学习,容易维护,容易发布.但对程序员来说,因为浏览器的局限性,却要面对很多挑战.怎么样 ...

  8. C# ikvm 运行htmlunit Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl not found

    在使用 ikvm 去运行 htmlunit 中的 webclient Getpage的时候  报错说com.sun.org.apache.xerces.internal.jaxp.DocumentBu ...

  9. MySQL 存储过程创建表

    创建 CREATE PROCEDURE  Pro_IsExistTable(ableName varchar(100),out outputParam int)BEGINset @csql=conca ...

  10. URAL 1009 K-based Numbers

    题目:Click here #include <bits/stdc++.h> using namespace std; typedef long long ll; const int IN ...