zoukankan      html  css  js  c++  java
  • ACM机器人

    机器人

    Time Limit:1000MS  Memory Limit:65536K
    Total Submit:265 Accepted:103

    Description

    早期的机器人只有2种操作,既向左转和向右转。

    现在有一个机器人,一开始面向北(N),给你一个仅由’L’,’R’组成的串,其中L表示向左转,R表示向右转,问经过一系列的转动后机器人面朝哪个方向。

    北(N),西(W),东(E),南(S)。

    Input

    第一行输入一个T(T<150),表示任务的个数
    对于每个任务,输入一个串。(每个任务开始前机器人都面向北(N))
    串长度不大于100

    Output

    输出一个字母,表示面朝的方向

    Sample Input

    2
    LLLL
    LRLRL
    

    Sample Output

    N
    W
    

    Hint

    上北下南左西右东

    Source

    xiao_wu

    我的解法是

     #include<stdio.h>
    int main()
    {
    	int j=0;
    	int n;
    	int i=0;
    	char diretion[100];
    	int end_dt;
    	scanf("%d",&n);
    	for(i=0;i<n;i++)
    	{
    	end_dt=4;
    	scanf("%s",diretion);
    	while(diretion[j]!='\0')
    	{
    		char c;
    		c=diretion[j];
    		if(c=='L')
    		{
    			if(end_dt==1)
    				end_dt=4;
    			else
    				end_dt--;
    		}
    		if(c=='R')
    		{
    			if(end_dt==4)
    				end_dt=1;
    			else
    				end_dt++;
    		}
    		j++;
    	}
    	if(end_dt==4)
    		printf("N\n");
    	 if(end_dt==3)
    		printf("W\n");
    	 if(end_dt==2)
    		printf("S\n");
    	if(end_dt==1)
    		printf("E\n");
             j=0;
    
    	}
    	return 0;
    }
    

     做题心得:开始位置用end_dt表示为4,左转的话end_dt减掉1,右转的话end_dt加上1,当end_dt为4时表示右转回到原来的位置,重新置1,当end_dt为1时,表示左转回到原来的位置,重新置为4.

  • 相关阅读:
    JDK里面包含jre,为什么还要下载一个jre呢?
    2021年11月2日,面试经历
    linux内核学习心得
    关于QQ短信接口的使用。
    软件测试--开发者测试例子
    此博客相关声明·AP2017060911I
    21RNC201906034I·代码重构
    20RNC201901313I·代码重构
    19RND201808172·层次设定
    18RND201801311·图像方案日记
  • 原文地址:https://www.cnblogs.com/LJTbozai/p/2484814.html
Copyright © 2011-2022 走看看