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(模拟)的更多相关文章

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

    题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2718 题意:优先直走,右 左 后.... ...

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

  3. HUNNU11342:Chemistry(模拟)

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11342 Problem description The ch ...

  4. Rocky之Mysql-MHA高可用

    9.半同步复制 安装插件三种方法: 第一种: mysql>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so' 安装 在 ...

  5. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  6. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  7. Python 爬虫模拟登陆知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...

  8. HTML 事件(四) 模拟事件操作

    本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4.  ...

  9. 模拟AngularJS之依赖注入

    一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...

随机推荐

  1. postfix 邮件中继配置

    Postfix 配置邮件中继 A 邮件发送服务器B 邮件中继服务器 A. 配置发件服务器 # 开启转发规则 [root@Postfix ~]# vi /etc/postfix/main.cf tran ...

  2. CentOS 7 不能连接网路的解决方法

    ---恢复内容开始--- 刚安装的CentOS7 是不能连接网络的,更不能使用yum 进行应用的安装 (1)通过ip addr或者是 ifconfig获取需要编辑的文件名 (2)vi /etc/sys ...

  3. [工具]iostat

    本文主要分析了Linux的iostat命令的源码 iostat源码共563行,应该算是Linux系统命令代码比较少的了.源代码中主要涉及到如下几个Linux的内核文件: 1./proc/disksta ...

  4. STM32的USART发送数据时如何使用TXE和TC标志

    在USART的发送端有2个寄存器,一个是程序可以看到的USART_DR寄存器,另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志,一个是TXE=发送数据寄存器空,另一个是TC=发送结束. ...

  5. crontab定时任务安装、使用方法

    本文介绍下,在linux中安装crontab的方法,以及crontab的具体用法,有需要的朋友参考下. 这里使用yum方式安装crontab:  复制代码代码示例: [root@CentOS ~]# ...

  6. POJ 1821 Fence

    Fence Time Limit: 1000ms Memory Limit: 30000KB This problem will be judged on PKU. Original ID: 1821 ...

  7. poj 1679 判断最小生成树是否唯一

    /* 只需判断等效边和必选边的个数和n-1的关系即可 */ #include<stdio.h> #include<stdlib.h> #define N 110 struct ...

  8. Sencha Touch 2.1学习图表Chart概述

    Extjs.chart提供了可视化展现数据的能力,每个图表可以绑定到数据模型Ext.data.Store上, 并随着数据的变换可以自动的更新图表 一个图表对象包括图标风格.坐标(axes).序列(se ...

  9. round()和trunc()函数的应用

    http://blog.chinaunix.net/uid-7801695-id-68136.html round()和trunc()函数的应用 关键字: round()和trunc()函数的应用  ...

  10. npm install socket.io 提示缺少"VCBuild.exe"

    http://www.cnblogs.com/yangzhx/p/4648501.html https://www.v2ex.com/t/120493