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.

  • 相关阅读:
    多级别过滤器
    MongoDBAppender
    org.slf4j.impl.SimpleLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
    简单引入logback
    Logback configuration
    PatternLayoutEncoder 输出格式
    ConsoleAppender
    FileAppender
    Linux学习笔记
    GitLab CI/CD 学习记录
  • 原文地址:https://www.cnblogs.com/LJTbozai/p/2484814.html
Copyright © 2011-2022 走看看