zoukankan      html  css  js  c++  java
  • 机器人走迷宫 SDUT1590 ACM算法设计

    机器人走迷宫

    Time Limit: 1000MS Memory limit: 32768K

    题目描述

    迷宫对大家来说肯定是很熟悉的东西了,多数人都知道要想走出迷宫,在里面乱猜肯定是不行的,比较好的方法是贴着墙的一侧走,比如只贴着右侧走,最后肯定会走出迷宫,但不能保证要走多久,可能出口尽在咫尺你却错过了。

    机器人只听从人的命令或按照预先写好的程序去行动。今天我们会给它命令,让它按照我们的命令去走,希望你能判断一下机器人能够走出迷宫,命令有四种:U,D,L,R分别代表让机器人向上下左右四个方向移动,如果碰到墙则不移动。

    输入

    输入数据首先是地图,先给出H和W分别代表地图的高和宽,然后是H*W的地图,*代表可以走,#代表墙,S代表起点,T代表终点。接下来是一个整数C代表命令的条数。接下一行有长度为C的字符串代表命令,0<=H,W<=10, 0<=C<=100。

    输出

    如果机器人按照给定的命令走,能到达终点则输出Yes,否则输出No。
    注意:在命令执行完之前到达也算到达。

    示例输入

    5 5
    S****
    ####*
    *****
    **###
    #***T
    16
    RRRRDDLLLLDRDRRR

    示例输出

    Yes

    来源

    2011软件1-5班《程序设计基础》机试 tongjiantao

    模拟题,用二维数组模拟地图

    #include <iostream>
    //#include <fstream>
    using namespace std;
    
    const int MAXN = 11;
    int maze[MAXN][MAXN];
    int h,w,o;
    int x,y,r,s;
    char c;
    
    int main()
    {
    	//ifstream cin("in.txt");
    	cin>>h>>w;	
    	for(int i = 1;i <= h;i ++) for(int j = 1;j <= w;j++)
    	{
    		cin>>c;
    		if('*' == c)
    		{
    			maze[i][j] = 1;
    		}
    		else if('S' == c)
    		{
    			maze[i][j] = 1;
    			x = i;
    			y = j;
    		}
    		else if('T' == c)
    		{
    			maze[i][j] = 1;
    			r = i;
    			s = j;
    		}
    	}
    	cin>>o;
    	bool IsOut = false;
    	while(o --)
    	{
    		cin>>c;
    		//Move
    		if('U' == c && x > 1 && maze[x - 1][y] == 1)
    			x --;			
    		else if('D' == c && x < h && maze[x + 1][y] == 1)
    			x ++;
    		else if('L' == c && y > 1 && maze[x][y - 1] == 1)
    			y --;
    		else if('R' == c && y < w && maze[x][y + 1] == 1)
    			y ++;
    		//Judge
    		if(x == r && y == s)
    		{
    			IsOut = true;
    			cout<<"Yes"<<endl;
    			break;
    		}
    	}
    	if(!IsOut) cout<<"No"<<endl;
    	return 0;
    }
    
    本博客所有博文,若无专门说明皆为原创,转载请注明作者和出处!
  • 相关阅读:
    iBatis的基本使用
    修改浏览器语言环境
    JavaScript实现级联下拉框
    Spring2.5与JDK8的集成问题
    JDK API文档下载
    C程序:年转化天
    线程基础
    拷贝控制之拷贝、赋值、销毁
    jquery中attr、prop、data
    input 类型为number型时,maxlength不生效?
  • 原文地址:https://www.cnblogs.com/ifinver/p/3031163.html
Copyright © 2011-2022 走看看