机器人II

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

自从xiao_wu发明了只能向左转与向右转的机器人以后,热血沸腾的他又给机器人加了一个操作。假设机器人在二维坐标系的原点,一开始面向Y轴正方向(北N),现在给你一个仅由’L’,’R’,’M’的串,其中L表示向左转,R表示向右转,M表示向所面对的方向走一个单位的距离,试问经过操作过后,机器人的坐标和所面对的方向。

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

Input

第一行输入一个T(T<150),表示任务的个数

对于每个任务,输入一个串。(每个任务开始前机器人在原点,面向北(N),既Y轴正方向)

串长度不大于100

Output

对于每个任务,输出两个数表示机器人的坐标,一个字符表示机器人的面朝的方向。

Sample Input

2

LRMLL

LMRMMLLL

Sample Output

0 1 S

-1 2 E

可以用数组存储方向,R加,L减,具体看代码。

import java.util.*;

public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int t,x,y,f,i;
char s[] = {'N','E','S','W'};
String q;
t = cin.nextInt();
while(t-->0)
{
f = 0;
x = y = 0;
q = cin.next();
for(i=0;i<q.length();i++)
{
if(q.charAt(i)=='M')
{
if(f==0)
y++;
else if(f==2)
y--;
else if(f==1)
x++;
else if(f==3)
x--;
}
else if(q.charAt(i)=='R')
{
f++;
if(f>3)
f -= 4;
}
else if(q.charAt(i)=='L')
{
f--;
if(f<0)
f += 4;
}
}
System.out.printf("%d %d %c\n",x,y,s[f]);
}
cin.close();
}
}

Java练习 SDUT-2585_机器人II的更多相关文章

  1. java实现小九机器人接口

    package com.iask.webchat.chatmachine; import java.net.URLEncoder; import org.apache.http.HttpEntity; ...

  2. [Leetcode][JAVA] Pascal's Triangle I, II

    Pascal's Triangle: Given numRows, generate the first numRows of Pascal's triangle. For example, give ...

  3. Java for LeetCode 052 N-Queens II

    Follow up for N-Queens problem. Now, instead outputting board configurations, return the total numbe ...

  4. Java for LeetCode 047 Permutations II

    Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

  5. Java for LeetCode 090 Subsets II

    Given a collection of integers that might contain duplicates, nums, return all possible subsets. Not ...

  6. java实现豆瓣回帖机器人

    最近一直帮老板写爬虫,写累了就寻思着找点乐子,碰巧平时喜欢逛豆瓣,就打算写一个自动回帖机器人,废话不多说我们进入正题: 主要用到2个开源工具:Jsoup和httpclient Step 1:模拟登陆 ...

  7. Java练习 SDUT - 2669_2-2 Time类的定义

    2-2 Time类的定义 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 通过本题目的练习可以掌握类与对象的定义: 设计 ...

  8. java接入钉钉机器人(带源码)

    前言 登录钉钉网页: https://im.dingtalk.com 登录说明文档地址,以备随时查询: https://ding-doc.dingtalk.com/doc#/serverapi2/qf ...

  9. Java实现 LeetCode 657 机器人能否返回原点(暴力大法)

    657. 机器人能否返回原点 在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i ...

随机推荐

  1. git(转)

    转载:http://www.cnblogs.com/my-freedom/p/5701427.html 一.如何安装git 下载地址: https://git-scm.com/download/win ...

  2. Crontab 入门

    参考网址: http://www.centoscn.com/CentOS/help/2014/0820/3524.html 简单命令 service crond restart //重启crontab ...

  3. 微信小程序 原生框架 (分享方法封装)

    封装的分享方法 function share(o,isDebug = false ) { //路径 let url = o.url || getCurrentPages()[getCurrentPag ...

  4. linux 下建立桌面快捷方式

    这段时间从windows转到了Linux,发现桌面上没有快捷方式很不适应,找了好久资料,找到解决方法,记录下来以后备用 1.首先建立一个新文件 ``` vi quick.desktop //后缀为de ...

  5. python中os模块简介

    一.什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,所以离不了 ...

  6. 【python之路19】文件操作

    一.打开文件 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ...

  7. Python3 中 configparser 使用注意事项

    在使用configparser时候应注意: ①配置文件(ini文件)的存放位置:配置文件和调用文件放在同一个文件包下面. 使用read()函数读取并解析配置文件时,直接写配置文件(ini文件)的文件名 ...

  8. django 验证码(django-simple-captcha)

    django 验证码(django-simple-captcha) django-simple-captcha 官方文档(含基于modelForm的用法)  https://django-simple ...

  9. AudioToolbox.framework框架学习

    http://quding0308.iteye.com/blog/1596710 AudioFile AudioFileStream类 提供了一个接口,用来解析一个流音频文件. //创建一个new s ...

  10. LintCode_420 报数

    题目 报数指的是,按照其中的整数的顺序进行报数,然后得到下一个数.如下所示: 1, 11, 21, 1211, 111221, ... 1 读作 "one 1" -> 11. ...