【POJ1573】Robot Motion
本题知识点:模拟
本题的题意也很简单。
给出一个矩阵,矩阵里面有着东南西北(上下左右)的指示,当机器人走到上面时则会按照指示前进。机器人每次都从最上面一行的某一列进入。
需要判断的是机器人走出了矩阵或者是在矩阵里循环走不出去,样例一与样例二则很好地诠释了这两种状况。
输出也是根据这两种情况分情况输出,我是按照是否有循环的思路去输出的,感觉这种简单模拟是很有多种做法的,至于自己喜欢哪种,则可以自己去琢磨了。
数据很小(快乐水题)。
// POJ 1573
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int h, w, t;
char maze[20][20];
int run[20][20];
void init(){
for(int i = 0; i < 20; i++){
for(int j = 0; j < 20; j++){
maze[i][j] = '#';
}
}
}
int main()
{
while(~scanf("%d %d %d", &h, &w, &t) && h + w + t != 0){
memset(run, 0, sizeof(run));
init();
for(int i = 1; i <= h; i++) scanf("%s", maze[i] + 1);
int i = 1, j = t;
while(true){
if(maze[i][j] == '#') break;
if(run[i][j] == 2) break;
run[i][j]++;
if(maze[i][j] == 'N') i--;
else if(maze[i][j] == 'W') j--;
else if(maze[i][j] == 'S') i++;
else if(maze[i][j] == 'E') j++;
}
int one = 0, two = 0;
for(int i = 1; i <= h; i++){
for(int j = 1; j <= w; j++){
if(run[i][j] == 1) one++;
if(run[i][j] == 2) two++;
}
}
if(!two){
printf("%d step(s) to exit\n", one);
}
else printf("%d step(s) before a loop of %d step(s)\n", one, two);
}
return 0;
}
【POJ1573】Robot Motion的更多相关文章
- 【VR】Leap Motion 官网文档 FingerModel (手指模型)
前言: 感谢关注和支持这个Leap Motion系列翻译的朋友们,非常抱歉因为工作原因非常久没有更新,今后这个翻译还会继续(除非官方直接给出中文文档).本篇献给大家的是 <FingerModel ...
- 【POJ - 1573】Robot Motion
-->Robot Motion 直接中文 Descriptions: 样例1 样例2 有一个N*M的区域,机器人从第一行的第几列进入,该区域全部由'N' , 'S' , 'W' , 'E' ,走 ...
- 【转】Robot Framework 快速入门
目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变 ...
- 【转】Robot Framework用法总结
今天总结下Robot Framework最基本的用法,一来呢,希望自己以后看到这篇总结,很快能回忆起如何使用Robot Framework.二来呢,以初学者的姿态总结Robot Framework,希 ...
- 【转】Robot Framework作者建议如何选择自动化测试框架
原文:http://www.infoq.com/cn/news/2012/06/robot-author-suggest-autotest 软件自动化测试,作为手工测试的替代,越来越受到关注.Pekk ...
- 【转】robot framework + python实现http接口自动化测试框架
前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测试框架,以至于后期rd每修改一个bug,经常导致之前没有问题的case又产生了 ...
- 自动化测试===【转】Robot Framework作者建议如何选择自动化测试框架
原文:http://www.infoq.com/cn/news/2012/06/robot-author-suggest-autotest 软件自动化测试,作为手工测试的替代,越来越受到关注.Pekk ...
- 【自动化测试】robot framwork的一点小发现
我们在搭建完robotframwork框架并开始打开火狐浏览器的时候,总会碰到打不开浏览器的问题.这次,分享一个常见的小问题. 这个问题呢,是因为火狐的版本更新频繁,导致selenium的版本跟不上导 ...
- 【bzoj3938】 Robot
http://www.lydsy.com/JudgeOnline/problem.php?id=3938 (题目链接) 题意 给出数轴上$n$个点,有$m$个操作,在时间$t$让一个点以一定的速度移动 ...
随机推荐
- JAVA项目之增删改查
public class ProductDao { // 查询所有商品 // BeanListHandler查询所有商品 public List<Product> getAll() thr ...
- chrome浏览页面常用快捷键
1.chrome浏览页面常用快捷键 Ctrl+N 打开新窗口. Ctrl+T 打开新标签页. Ctrl+W关闭当前标签 Ctrl + F4 关闭chrome浏览器 Ctrl+Tab 或 Ctrl+Pg ...
- ETC1/DXT1 compressed textures are not supported when publishing to iPhone
Build application in Unity 2017.20f3 用Unity2017/2018编译iPhone版本出现以下错误: ETC1(or DXT1) compressed textu ...
- css浮动float详解
https://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html
- CAS 的问题
cas这么好用,那么有没有什么问题呢?还真有 ABA问题 CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时 ...
- JSON的Go解析
JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读.尽管JSON是Javascript的一个子集,但JSON是独立于 ...
- pyecharts绘制geo地图
pyecharts是一种非常强大的绘图python库,绘制的图形非常好看,并且有代表性,不仅仅是地图,还可以绘制条形图.饼图.词云图等等. # 安装方法 pip install pyecharts # ...
- MySQL/MariaDB数据库的服务器配置
MySQL/MariaDB数据库的服务器配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL中的系统数据库 1>.mysql数据库 是mysql的核心数据库,类 ...
- 视图查询的数据和sql查询的数据不一样
视图查询的数据和sql查询的数据不一样. 手动刷新视图 exec sp_refreshview 视图名称
- Django REST framework —— 认证组件源码分析
我在前面的博客里已经讲过了,我们一般编写API的时候用的方式 class CoursesView(ViewSetMixin,APIView): pass 这种方式的有点是,灵活性比较大,可以根据自己的 ...