题目:给字符串s,0代表没有地雷,1代表有地雷,引爆地雷需要花费a硬币,而且地雷会引爆两边的地雷,埋下一个地雷需要b硬币,求把所有地雷清除掉的最小花费
思路:
贪心,只要当前遇到的没有地雷的路段长度埋下地雷的花费b没有超过引爆的花费a,就把这些0段给连起来,那么引爆他们只需要一个a。反之则直接引爆,花费a
for _ in range(int(input())):
a, b = map(int, input().split())
s = input()
ans, t = 0,float('inf')
for i in range(len(s)):
if s[i]=='0':
t += 1
else:
ans += min(a, b*t)
t = 0
print(ans)