机器人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. bzoj 3110 [Zjoi2013]K大数查询——线段树套线段树(标记永久化)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3110 第一道线段树套线段树! 第一道标记永久化! 为什么为什么写了两个半小时啊…… 本想线段 ...

  2. 移动端meta汇总

    part1 一.天猫(http://m.tmall.com) <title>天猫触屏版</title> <meta content="text/html; ch ...

  3. 在VUE中实现打印

    1.安装 npm install vue-print-nb --save 2.在mian.js中引入 import Print from 'vue-print-nb' Vue.use(Print); ...

  4. meet-in-the-middle 基础算法(优化dfs)

    $meet-in-the-middle$(又称折半搜索.双向搜索)对于$n<=40$的搜索类型题目,一般都可以采用该算法进行优化,很稳很暴力. $meet-in-the-middle$算法的主要 ...

  5. 20190716-T3-奇袭

    我要嗝了 我经过一系列努力,寻找了一系列,各种复杂度的方法. 1>纯暴力 复杂度:$\Theta(N^5)$ 不多解释,上代码: 空间复杂度无法承受,如果考试偏要写这个不妨动态开数组: 例: # ...

  6. 读书笔记--Head First JavaScript 目录

    1.交互式网络 2.存储数据 3.探索客户端 4.决策 5.循环 6.函数 7.表单与验证 8.驾驭网页 9.为数据带来生命 10.创建自定义对象 11.除错务尽 12.动态数据

  7. day38 19-Spring整合web开发

    整合Spring开发环境只需要引入spring-web-3.2.0.RELEASE.jar这个jar包就可以了,因为它已经帮我们做好了. Spring整合web开发,不用每次都加载Spring环境了. ...

  8. oracle-OFA模型

    用于unix文件系统和安装点的命名约定 用于目录路径的命名约定 用于数据文件的命名约定 用于oracle相关文件的标准位置

  9. Spring_Aop_(二)

    切面的优先级 @Order(1)注解 指定切面的优先级,值越小优先级越高 @Order(1) @Aspect @Component public class VlidationAspect { @Be ...

  10. No.2 Verilog 模块和描述风格

    2-1 模块 Verilog语言基本的描述单元----模块,模块是用来描述某个设计的功能或结构,以及它与其它外部模块进行通信的端口. module module_name(port_list); De ...