1010 Robot Motion
 A robot has been programmed to follow the instructions in its path. Instructions for the next direction the robot is to move are laid down in a grid. The possible instructions are
A robot has been programmed to follow the instructions in its path. Instructions for the next direction the robot is to move are laid down in a grid. The possible instructions are N north (up the page) S south (down the page) E east (to the right on the page) W west (to the left on the page)
For example, suppose the robot starts on the north (top) side of Grid 1 and starts south (down). The path the robot follows is shown. The robot goes through 10 instructions in the grid before leaving the grid.
Compare what happens in Grid 2: the robot goes through 3 instructions only once, and then starts a loop through 8 instructions, and never exits.
You are to write a program that determines how long it takes a robot to get out of the grid or how the robot loops around.
题意:题目给出一个矩阵,让机器人按照规定行走;如果最终走入一个循环中,则输出进入循环前的的步数和循环的步数,如果最终走出矩阵范围也是输行走的步数;
规则如下:
E:向右走一步;W:向左走一步;N:向上走一步;S向下走一步;
AC代码:
#include<iostream>
#include<cstring>
#include<cstdio> using namespace std; int dp[][]={};
char ch[][];
int x,y,s;
int em()
{
int number=;
int a=,b=s;
while(){
if(dp[a][b]){//循环情况的处理;
cout<<dp[a][b]-<<" step(s) before a loop of "<<number-dp[a][b]<<" step(s)"<<endl;
return ;
}
if(a==||a==x+||b==||b==y+){cout<<number-<<" step(s) to exit"<<endl;return ;}
dp[a][b]=number;
switch(ch[a][b])
{
case 'E':b++;break;
case 'W':b--;break;
case 'S':a++;break;
case 'N':a--;break;
}
number++;
}
} int main()
{
freopen("1.txt","r",stdin);
int i,j;
while(){
memset(dp,,sizeof(dp));
cin>>x>>y>>s;
if(x==y&&y==s&&s==)return ;
for(i=;i<=x;i++)
for(j=;j<=y;j++)cin>>ch[i][j];
em();
}
}
1010 Robot Motion的更多相关文章
- HDOJ(HDU).1035 Robot Motion (DFS)
		HDOJ(HDU).1035 Robot Motion [从零开始DFS(4)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DF ... 
- hdu1035 Robot Motion (DFS)
		Robot Motion Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ... 
- poj1573 Robot Motion
		Robot Motion Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12507 Accepted: 6070 Des ... 
- Robot Motion(imitate)
		Robot Motion Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11065 Accepted: 5378 Des ... 
- 模拟 POJ 1573 Robot Motion
		题目地址:http://poj.org/problem?id=1573 /* 题意:给定地图和起始位置,robot(上下左右)一步一步去走,问走出地图的步数 如果是死循环,输出走进死循环之前的步数和死 ... 
- POJ 1573 Robot Motion(BFS)
		Robot Motion Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12856 Accepted: 6240 Des ... 
- Robot Motion                                                       分类:            POJ             2015-06-29 13:45    11人阅读    评论(0)    收藏
		Robot Motion Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11262 Accepted: 5482 Descrip ... 
- POJ 1573 Robot Motion
		Robot Motion Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12978 Accepted: 6290 Des ... 
- Poj OpenJudge 百练 1573 Robot Motion
		1.Link: http://poj.org/problem?id=1573 http://bailian.openjudge.cn/practice/1573/ 2.Content: Robot M ... 
随机推荐
- IntelliJ IDEA “Finds duplicated code”提示如何关闭
			发现重复的代码这个提示真的很烦啊,我们怎么关闭他呢. 设置在这里: Settings -> Editor -> Inspections -> General -> Duplic ... 
- 【Python】协程实现生产者消费者模型
			协程的实现为协作式而非抢占式的,这是和进程线程的最大区别.在Python中,利用yield和send可以很容易实现协程. 首先复习下生成器. 如果一个函数使用了yield语句,那么它就是一个生成器函数 ... 
- joda-time的一个DEMO
			Date activeDate = person.getActiveTime(); if(activeDate==null){ modelMap.put("expireDate", ... 
- private set
			表示只读: 例:public string DisplayName { get; private set; } 称为"自动属性" 等同于: private string _Dis ... 
- redis简单总结
			一.redis的准备. 下载redis:路径:Linux:http://www.redis.io.comwindow:http://www.newasp.net/soft/67186.html 解压后 ... 
- ios开发判断手机是否安装微信app
			1.代码如下 if ([WXApi isWXAppInstalled]) 2.如果以上代码无效,请在plist文件中添加如下内容 
- unity笔录
			----------------------------unity项目在启动splash的时候黑屏 原因不明------------------测试复制项目 用剔除法测试 笔录开始 先用原版本打包 ... 
- 前端好的工具集推荐 lodash
			原来用 backbone 的时候, 感觉 underscore 是一个好的工具集,顿时感觉不错,不用自己一直去封装一些组件. 直到我遇到了 lodash,一只发现 web 项目中有依赖这个库的,但是一 ... 
- JavaScript DOM编程艺术-学习笔记(第十二章)
			第十二章 1.本章是综合前面章节的所有东西的,一个综合实例 2.流程:①项目简介:a.获取原始资料(包括文本.图片.音视频等) b.站点结构(文件目录结构) c.页面(文件)结构 ②设计(切图) ③c ... 
- 如何占用你用户的时间 and 如何提高客户的满意度  。 待续
			未来的商业竞争, 可能本质上是在争取客户的时间 嗯..有不定时, 未知的奖励,游戏行业就经常使用, 比如打怪掉装备, 不一定掉什么好东西, 让人充满了期待, 玛雅宝石, 有一定的概率... 觉得公司员 ... 
