题解 | #两个机器人#

两个机器人

https://ac.nowcoder.com/acm/problem/21742

阅读完此题,最棘手的问题就是“机器人存在一些bug,可能会忽略一些指令,或者所有指令,或者全部忽略”。这是此题的难点之处,为什么呢?因为我们根本无法控制机器人的行动轨迹,不知道在哪会“出现bug”,所以行动轨迹根本无法把握。基于此,我们只能从字符串的命令出发,我们先算出两个计算器人的起始位置之间的间距,用x_spacing,y_spacing表示,再接下来对命令的每个字符遍历,如果是U或D,进行y++,R或L进行x++,为什么要进行这样操作呢?因为,两个机器人一个向左运动,一个向右运动,产生的间距最大就是相加,所以进行y++,基于此便可以解决此题、

import java.util.Scanner;
public class Main{
public static void main(String arg[]){
    Scanner sc=new Scanner(System.in);
    int x1=sc.nextInt();
    int y1=sc.nextInt();
    int x2=sc.nextInt();
    int y2=sc.nextInt();
    String order=sc.next();
    int x=0,y=0,x_spacing=Math.abs(x1-x2),y_spacing=Math.abs(y1-y2);
    for(int i=0;i<order.length();i++){
        if(order.charAt(i)=='U'||order.charAt(i)=='D') {
        y++;
        }
        else {
        	x++;
        }
    }
    if(y>=y_spacing&&x>=x_spacing){
        System.out.print("Explosion");
    }else{
        System.out.print("Safe");
    }
}
}
全部评论

相关推荐

07-11 15:12
门头沟学院 Java
别人在上班,我就在工位上看看视频啥的,这正常吗?
程序员小白条:实习就是摸鱼,只是公司指标,把你进来了,可能那时候客户很多,但等你进来的时候,已经是淡季了,根本没多少需求,或者说根本不适合实习生去完成,因此你就每天干坐着就行,可能1,2个月都没需求
实习生的蛐蛐区
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
07-09 15:55
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务