魔法糖果工厂

95 篇文章 0 订阅

LYA 是一家魔法糖果工厂的新任管理员。工厂生产的魔法糖果有七种颜色,分别用字母 a、b、c、d、e、f、g 表示。这些糖果被排列在一条传送带上,准备进行包装。为了提高效率,工厂引进了一台智能包装机器人。这个机器人可以按照预设的指令序列来包装糖果。指令序列由字符 a、b、c、d、e、f、g 和 * 组成。其中,a 到 g 表示机器人可以包装对应颜色的糖果,而 * 则表示机器人可以重复前一个动作任意次(包括 0 次)。

如果指令序列执行完毕,或者遇到当前无法匹配的糖果,机器人就会停止工作。LYA 想知道,按照给定的指令序列,机器人最多能包装多少个糖果。

输入格式
第一行输入一个字符串,表示传送带上𝑁个糖果的颜色序列,长度𝑁 ,N 不超过 1000。

第二行输入一个字符串,表示机器人的指令序列𝑆,𝑆的长度不超过 1000。

abbbbcdefg
abcd

7

void candyWrap() {
	string N; cin >> N;
	string S; cin >> S;
	char last = '*';
	int index = 0;
	for (char c: S){
		if (c == '*'){
			if (last == '*') continue;//连续多个指针
			while (index < N.size() && N[index] == last) ++index;//一次性将符合条件的过完
		}
		else{
			if (index < N.size() && N[index] != c) break;
			++index;
		}
		last = c;
	}
	cout << index << endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

colorful_stars

您是我见过全宇宙最可爱的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值