题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2718

题意:优先直走,右 左 后。。。。

思路:

我定义的朝向 已经 d[]的先后次序。。。。。

  3  
2   1
  4  
 #include <cstring>
#include <cstdio>
using namespace std; int dx[]={,,-,,};
int dy[]={,,,,-};
struct node
{
int x,y,tow,step;
}pos,before;
int main()
{
int i,col,row,r;
int G[][];
int x,y,sx,sy,f,count=;
while(~scanf("%d%d%d",&col,&row,&r)&&(col||row||r))
{
memset(G,,sizeof(G));
for(i=; i<r; i++)
{
scanf("%d%d",&x,&y);
G[x][y]=;
}
scanf("%d%d",&sx,&sy);
if(sx==)
f=;
else if(sx==col)
f=;
else if(sy==)
f=;
else if(sy==row)
f=;
pos.step=; pos.tow=f;
pos.x=sx; pos.y=sy;
for(i=; ;i++)
{
if(pos.tow==)
{
if(pos.x>=col)
break;
if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
}
else if(pos.tow==)
{
if(pos.x<=)
break;
if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
}
else if(pos.tow==)
{
if(pos.y>=row)
break;
if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
}
else if(pos.tow==)
{
if(pos.y<=)
break;
if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
else if(G[pos.x+dx[]][pos.y+dy[]]==)
{
pos.x=pos.x+dx[];
pos.y=pos.y+dy[];
pos.step++;
pos.tow=;
}
}
if(pos.x>=&&pos.x<=col&&pos.y>=&&pos.y<=row)
{
before.x=pos.x; before.y=pos.y;
}
}
printf("Case %d: ",count++);
if(pos.x>=&&pos.x<=col&&pos.y>=&&pos.y<=row)
printf("%d %d %d\n",pos.x,pos.y,pos.step);
else
printf("%d %d %d\n",before.x,before.y,pos.step-);
}
return ;
}

中国海洋大学第四届朗讯杯高级组 A 2718 Rocky(模拟)的更多相关文章

  1. 中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)

    题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2721 题意: 给定n个左标,跟那n个坐标 ...

  2. 中国海洋大学第四届朗讯杯高级组 I Cuckoo for Hashing

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2719&cid=1203 题意 :意思就是哈希来的,具体大意就是说有两个哈希表,然后有这样 ...

  3. 中国海洋大学第四届朗讯杯高级组 A Rocky

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2718&cid=1203 题意:给你一个m乘n的格子阵,从一边进去,直线往前走,如果前边有 ...

  4. 腾讯云 安全组配置及与MySQL 远程登录失败原因浅析

    前言,知道自己腾讯云服务器安全组配置并在安全组里开放了所有端口的用户可以粗略的看看下边的内容,否则就仔细看看吧. 因为有学习及业务需要,我要在腾讯云上安装了CentOS7.2版本的服务器上安装MySQ ...

  5. 第四届蓝桥杯C++B组省赛

    1.高斯日记 2.马虎的算式 3.第39级台阶 4.黄金连分数 5.前缀判断 6.三部排序 7.错误票据 8.翻硬币 9.带分数 10.连号区间数

  6. 第四届蓝桥杯C++B组国(决)赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜灯谜 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的 ...

  7. CF 3-6 2级组 D题 STRESSFUL TRAINING 紧张的比赛

    题目大概是这样的: 给出一个数列a[n] ,对于每一个数 a [i] 来说 都会在 T - - 时 -= b[i] 每个数都在任何时刻不能小于0 你可以在每次T - - 之前时给 一 个 a[i] + ...

  8. [2020年10月28日普级组]1405.小B浇花

    区 间 和 的 和 区间和的和 区间和的和 题目解析 就直接模拟,从最低的花的高度向最高的花的高度枚举,如果当循环变量的值到达了顶峰,但还有花的数量大于2的,就把循环上线加一(所以数组要开大些) Co ...

  9. [2020年10月28日普级组]1406.SMRTFUN

    S M R T F U N SMRTFUN SMRTFUN 题目描述 "又肥又温顺,又大又笨,他们看起来那么傻,而且也不有趣--" 这些牛想要证明,他们是既有趣,又聪明的.为了这样 ...

随机推荐

  1. 一款jquery写出来的tab切换

    当时做这个的时候,当前状态是不规则的,li对应的有3块内容,分别设定不同背景图片,只显示当前的一个背景,鼠标移上去的时候其余2个用background-position: -1000px 0px;来隐 ...

  2. Node.js 【CORS(cross origin resource sharing) on ExpressJS之笔记】

    app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*" ...

  3. Linux 服务器如何禁止 ping 以及开启 ping

    Linux 默认是允许 ping 响应的,也就是说 ping 是开启的,但 ping 有可能是网络攻击的开始之处,所以关闭 ping 可以提高服务器的安全系数.系统是否允许 ping 由2个因素决定的 ...

  4. Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习

    #coding=utf-8 __author__ = 'Administrator' #Python变量类型 #Python数字,python支持四种不同的数据类型 int整型 long长整型 flo ...

  5. unity3d 延迟处理方法

    Invoke("方法名", 多少秒后执行); InvokeRepeating("方法名", 多少秒后执行,开始执行后隔多长时间再次执行一次); CancelIn ...

  6. MySQL的复制原理及配置

    MySQL 的数据库的高可用性的架构大概有以下几种:集群,读写分离,主备.而后面两种都是通过复制来实现的.下面将简单介绍复制的原理及配置,以及一些常见的问题. 一.复制的原理 MySQL 复制基于主服 ...

  7. Hadoop1.0.3集成eclipse开发

    本文来自:http://www.ilablog.org/%E7%BC%96%E8%AF%91hadoop-eclipse%E6%8F%92%E4%BB%B6/ 本人由于工作原因目前没有亲自尝试,那位尝 ...

  8. 用火狐打开PDF文件

    可以直接使用官方的Adobe Reader插件来实现在火狐中浏览PDF文件的功能.在你浏览一个PDF文件的时候,火狐将会尝试下载安装这个插件. 如果这个插件出现问题,那么就无计可施啦. 检查火狐的设置 ...

  9. 简单3d RPG游戏 之 005 选择敌人

    选择一个敌人,按ctrl+d,复制出3个,调整一下它们的位置,不重叠,修改Tag为Enemy,禁用EnemyAI. 创建Targetting脚本,绑定到Player玩家对象 public class ...

  10. org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.chen.vo.Dept.parentId

    异常描述:执行以下的addAsHaveParentId2方法出现此异常: /*-----------------------类Dept.Dept.hbm.xml有parentId属性(数据库中有此列) ...