XTU-OJ 1272-Robot

博客围绕机器人移动指令序列问题展开。机器人初始在原点,按“UDLR”指令移动。题目要求判断将某一种指令全部替换成另一种指令后,新指令序列能否让机器人回到原点。解题关键是保证替换后L指令数等于R指令数,U指令数等于D指令数。

题目描述

机器人一开始站在原点,可以上下左右(分别用“UDLR”表示)移动,每次移动一步。Estrella想知道对于某个指令序列,如果把某一种指令全部替换成另一种指令,新的指令序列可以让机器人回到原点。

输入

存在多个样例,每个样例一行,为一条指令序列,长度不超过200。

输出

每行输出一个样例的结果,可以输出“Yes”,否则输出“No”。

样例输入

LD
LLDDD

样例输出

Yes
No

解题思路: 注意这题就和 1252-Robot 左转右转不一样咯,这里左右就是直接移动了。一个L指令,机器人就左移一格,一个R指令,机器人就右移一个。  那么,机器人要如何在所有指令完成后,才能回到原点?  这是不是很简单,就是 L指令数 = R指令数, U指令数 = D指令数(左右抵消,上下抵消。)

知道如何回到原点,现在只是多加了个条件:把其中一个指令,更改为另一个指令。那还不是一样,只要保证最后 还是满足 L = R,U = D等式就行了。

AC代码:

#include <stdio.h>
#include <string.h>

char command[210];
int len,numL,numR,numU,numD;

int main()
{
    while ( scanf("%s",command) != EOF)
    {
        len = strlen(command);
        numL = numR = numU = numD = 0;
        for (int i = 0; i < len; i ++)                      // 统计各指令数量
        {
            if (co
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值