Robot
http://202.197.224.59/exam/index.php/problem/read/id/1272
题目描述
机器人一开始站在原点,可以上下左右(分别用“UDLR”表示)移动,每次移动一步。Estrella想知道对于某个指令序列,如果把某一种指令全部替换成另一种指令,新的指令序列可以让机器人回到原点。
输入
存在多个样例,每个样例一行,为一条指令序列,长度不超过200。
输出
每行输出一个样例的结果,可以输出“Yes”,否则输出“No”。
样例输入
LD
LLDDD
样例输出
Yes
No
思路:记录各种操作出现的次数,然后暴力判断即可。
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
vector<int> a;
while(cin>>s)
{
a.clear();
int l=0,r=0,u=0,d=0;
for(int i=0;i<s.length();i++)
{
if(s[i]=='L')l++;else if(s[i]=='R')r++;
else if(s[i]=='U')u++;else if(s[i]=='D')d++;
}
int ok=0;
if((l+u==r&&!d)||(l+d==r&&!u))
ok=1;
if((r+u==l&&!d)||(r+d==l&&!u))
ok=1;
if((l+u==d&&!r)||(r+u==d&&!l))
ok=1;
if((l+d==u&&!r)||(r+d==u&&!l))
ok=1;
cout<<((ok)?"Yes\n":"No\n");
}
return 0;
}
Problem: 1272 User: 2016551517
Memory: 1376K Time: 31MS
Language: G++ Result: Accepted