【BZOJ】【P1830】【AHOI2008】【Y型项链】【题解】【乱搞】

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1830

呃,做法不太好说……看代码就明白了

Code:

#include<bits/stdc++.h>
using namespace std;
deque<char>A[3];
int len[3];
int main(){
	char c;
	for(int i=0;i<3;i++){
		cin>>len[i];if(!len[i])continue;c=getchar();
		while(!isalpha(c))c=getchar();
		while(isalpha(c))A[i].push_back(c),c=getchar();
	}while(A[0].size()&&A[1].size()&&A[2].size()
	&&A[0].front()==A[1].front()&&A[1].front()==A[2].front())
	A[0].pop_front(),A[1].pop_front(),A[2].pop_front();
	int tot=A[0].size()+A[1].size()+A[2].size();
	int ans=tot;
	for(int i=0;i<3;i++)
	for(int j=i+1;j<3;j++){
		int k=0;
		for(;k<min(A[i].size(),A[j].size())&&A[i][k]==A[j][k];k++);
		int res=tot-A[i].size()-A[j].size();
		res+=k;
		res+=A[i].size()-k+A[j].size()-k;
		ans=min(ans,res);
	}cout<<ans<<endl;
	return 0;
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值