因为要回到原点,所以有多少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;
 } 

相关文章:

  • 2022-02-03
  • 2021-07-29
  • 2021-11-03
  • 2021-11-11
  • 2021-05-22
  • 2021-11-08
  • 2021-07-07
  • 2021-08-17
猜你喜欢
  • 2021-11-09
  • 2021-06-01
  • 2021-12-08
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2022-02-10
相关资源
相似解决方案