首页 > 其他 > 详细

题解 CF712B 【Memory and Trident】

时间:2020-06-11 18:50:55      阅读:39      评论:0      收藏:0      [点我收藏+]

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

题解 CF712B 【Memory and Trident】

原文:https://www.cnblogs.com/zdsrs060330/p/13095007.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!