Rocky(模拟)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2718
题意:如果没有障碍就按原方向直走,否则就右转直走,若右边走不通就左转直走,若左边也走不通就后转直走,直到走出去。
#include <stdio.h>
#include <string.h>
const int N=;
using namespace std;
int a[N][N];
int main()
{
int n,m,k,x,y,p=;
while(~scanf("%d %d %d",&n,&m,&k))
{
p++;
if (n==&&m==&&k==)
break;
memset(a,,sizeof(a));
for (int j = ; j <= m+; j++)
{
a[][j] = ;
a[n+][j] = ; }
for (int i = ; i <= n+; i++)
{
a[i][] = ;
a[i][m+] = ;
}
for (int i = ; i < k; i ++)
{
scanf("%d %d",&x,&y);
a[x][y] = -;
}
int dir;
scanf("%d %d",&x,&y);
if (x==)
dir = ;
else if (x==n)
dir = ;
else if (y==m)
dir = ;
else if (y==)
dir = ;
int cnt = ;
while(a[x][y]!= )
{
cnt++;
if (dir==)
{
if (a[x+][y]!=-)
{
x++;
dir = ;
}
else
{
if (a[x][y-]!=-)
{
y--;
dir = ;
}
else
{
if (a[x][y+]!=-)
{
y++;
dir = ;
}
else
{ x--;
dir = ;
}
}
}
}
else if (dir==)
{
if (a[x][y-]!=-)
{
y--;
dir = ;
}
else
{
if (a[x-][y]!=-)
{
x--;
dir = ;
}
else
{
if (a[x+][y]!=-)
{
x++;
dir = ;
}
else
{
y++;
dir = ;
}
}
} }
else if (dir==)
{
if (a[x-][y]!=-)
{
x--;
dir = ;
}
else
{
if (a[x][y+]!=-)
{
y++;
dir = ;
}
else
{
if (a[x][y-]!=-)
{
y--;
dir = ;
}
else
{
x++;
dir = ;
}
}
}
}
else
{
if (a[x][y+]!=-)
{
y++;
dir = ;
}
else
{
if (a[x+][y]!=-)
{
x++;
dir = ;
}
else
{
if (a[x-][y]!=-)
{
x--;
dir = ;
}
else
{
y--;
dir = ;
}
}
}
}
}
if (dir==)
x--;
else if (dir==)
y++;
else if (dir==)
x++;
else
y--;
printf("Case %d: %d %d %d\n",p,x,y,cnt);
}
return ;
}
Rocky(模拟)的更多相关文章
- 中国海洋大学第四届朗讯杯高级组 A 2718 Rocky(模拟)
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2718 题意:优先直走,右 左 后.... ...
- 2015 UESTC Winter Training #8【The 2011 Rocky Mountain Regional Contest】
2015 UESTC Winter Training #8 The 2011 Rocky Mountain Regional Contest Regionals 2011 >> North ...
- HUNNU11342:Chemistry(模拟)
http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11342 Problem description The ch ...
- Rocky之Mysql-MHA高可用
9.半同步复制 安装插件三种方法: 第一种: mysql>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so' 安装 在 ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- HTML 事件(四) 模拟事件操作
本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. ...
- 模拟AngularJS之依赖注入
一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...
随机推荐
- Js配置资料下载
1.使用windows.loaction.href链接下载: 此种下载在本页打开,eg:windows.location.href = http://www.xxx.xx/aa.apk; 2.使用wi ...
- POJ_3279_(dfs)(状态)
---恢复内容开始--- Fliptile Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8219 Accepted: ...
- 文艺平衡树(区间翻转)(Splay模板)
这篇blog写的吼啊 #include<cstdio> #include<iostream> #include<cstring> using namespace s ...
- Windows系统设置与北京Internet时间同步
找到提供Ntp服务器的网址:http://support.ntp.org/我从中找到东北大学的: ntp.neu.edu.cn ( 202.118.1.46 ) 长话短说,下面开始设置: 修改后的值 ...
- SweetAlert弹出框
以前也用过,那个时候没有写过,突然看见了,就写上了. 网址:http://mishengqiang.com/sweetalert2/ swal({ title: '确定删除吗?', text: '你将 ...
- 新手入门学习angular.js的心得体会
看了一天的angular.js,只要记住这是关于双向数据绑定 和单向数据绑定就可以,看看开发文档,短时间内还是可以直接入手的,看个人理解能力(我是小白). 这几天开始着手学习angularjs的有关知 ...
- 00.Python中下划线的5种含义
转自这里 先放上 简短的"速查表",罗列了五种Python下划线模式的含义: 模式 举例 含义 单前导下划线 _var 命名约定,仅供内部使用.通常不会由Python解释器强行执行 ...
- django的时间问题
三个时间datetime.datetime.now().datetime.datetime.utcnow()与django.util.timezone.now()的区别 datetime.dateti ...
- Git下的标签
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照 ...
- NOD 1113矩阵快速幂
基准时间限制:3 秒 空间限制:131072 KB 分值: 40 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大,只需要输出每个元素Mod (10^ ...