因为要回到原点,所以有多少L就必须要有多少R,同理有多少U就必须要有多少D
所以我们知道奇数长度的不可能,直接输出-1
我们一定要统计一下各种字母的数量,
算出了 l,r字母数的差lr 和 u,d字母数的差ud
然后再进行+、-、*、/and绝对值
所以我们就开始找规律
最后通过样例的数据我试出答案应该是(abs(abs(l-r)+abs(u-d)))/2
然后上代码:
#include<bits/stdc++.h>//万能库
using namespace std;
int main()
{
string s;//定义
cin>>s;
int len=s.size();
if(len%2==1)
{
printf("-1\n");
return 0;
}//长度奇数不可能
int l=0,r=0,u=0,d=0;
for(int i=0;i<len;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 lr=abs(l-r);
int ud=abs(u-d);
cout<<(abs(lr+ud))/2<<endl;//输出
return 0;
}