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的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...
随机推荐
- linux杀掉某个进程的脚本
https://www.cnblogs.com/zeng1994/p/13a2c5a28e55dd3abc2c75a4fb80371a.html awk的说明: https://www.cnblogs ...
- Operation Queues 面向对象的封装
Operation Queues An operation queue is the Cocoa equivalent of a concurrent dispatch queue and is im ...
- 太坑了,mybatis注解一对多,id没了
@Select("SELECT *, id nodes FROM QUESTION_PO WHERE ID=#{id}") @Results({ @Result(property ...
- Django中图片的上传并显示
一.settings配置文件中配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'medias').replace('\\', ...
- Springboot使用JdbcTemplate RowMapper查询,直接返回实体列表
ManagerRowMapper.java public class ManagerRowMapper implements RowMapper<Manager>{ @Override p ...
- js 简单模板引擎
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
- [数据结构】【c语言】链表的创建和遍历
第一次写代码的博客,一个刚刚接触的新手,来这里主要是为了记录自己,方便自己以后浏览,也欢迎大家指正.先来个简单的,动态链表的创建和遍历. #include<stdio.h> #includ ...
- 查看Linux中自带的jdk ,设置JAVA_HOME
在配置hadoop是,进行格式化hadoop的时候,出现找不到jdk 我用centos7是64位的, 发现本机有java ,就找了一下其位置 找到了jdk-1.7.0_75 which java [r ...
- Spring MVC-集成(Integration)-集成LOG4J示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_log4j.htm 说明:示例基于Spring MVC 4.1.6. 以下示例说明 ...
- hibernate分表保存日志
@Service("accessLogService")@Transactionalpublic class LogMessageServiceImpl extends BaseD ...