蓝桥杯官网练习题(机器人行走)

编程入门 行业动态 更新时间:2024-10-27 06:30:06

蓝桥杯官网<a href=https://www.elefans.com/category/jswz/34/1768594.html style=练习题(机器人行走)"/>

蓝桥杯官网练习题(机器人行走)

题目描述

某少年宫引进了一批机器人小车。可以接受预先输入的指令,按指令行动。小车的基本动作很简单,只有 3 种:左转(记为 L),右转(记为 R),向前走若干厘米(直接记数字)。

例如,我们可以对小车输入如下的指令:

15L10R5LRR10R20

则,小车先直行 15 厘米,左转,再走 10 厘米,再右转,···

不难看出,对于此指令串,小车又回到了出发地。

你的任务是:编写程序,由用户输入指令,程序输出每条指令执行后小车位置与指令执行前小车位置的直线距离。

输入描述

用户先输入一个整数  n (n<100),表示接下来将有  n 条指令。接下来输入  n 条指令。每条指令只由 L、R 和数字组成(数字是 0 ~ 100 之间的整数)

每条指令的长度不超过 256 个字符。

输出描述

程序则输出 

n 行结果,每条结果表示小车执行相应的指令前后位置的直线距离。要求四舍五入到小数后 2 位。

输入输出样例

示例

输入

用户输入: 
5 
L100R50R10 
3LLL5RR4L12 
LL 
100R 
5L5L5L5

输出

102.96

9.06

0.00

100.00

0.00

运行限制

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();while(n>0){n--;String str=scan.next();int fangxiang=0;int count=0;int x=0;int y=0;for(int i=0;i<str.length();i++){if(str.charAt(i)=='L'){fangxiang=(fangxiang+3)%4;}else if(str.charAt(i)=='R'){fangxiang=(fangxiang+5)%4;}else{count=count*10+(str.charAt(i)-'0');if(i+1==str.length()||str.charAt(i+1)>'9'||str.charAt(i+1)<'0'){if(fangxiang==0){y+=count;}else if(fangxiang==1){x+=count;}else if(fangxiang==2){y-=count;}else{x-=count;}count=0;}}}double dis=Math.sqrt(x*x+y*y);System.out.printf("%.2f\n",dis);}scan.close();}
}

 

    • 最大运行时间:1s
    • 最大运行内存: 256M

更多推荐

蓝桥杯官网练习题(机器人行走)

本文发布于:2023-11-17 02:48:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1637727.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:练习题   官网   机器人   蓝桥杯

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!