#P1040. 灵图机

灵图机

题目描述

小圈有一台灵图机。这个灵图机输入一个打孔的纸带。该纸带有 nn 个格子,上面有若干个格子被打孔了。

因为这是一台灵图机,所以它有比图灵机更强的功能:

  • 任意指定一个打孔的格子 pp,将 pp 变为未打孔的,一次花费 aa
  • 任意指定一个未打孔的格子 pp,将 pp 变为打孔的,一次花费 aa
  • 任意指定两个格子 p,qp,q,其中 pp 是打孔的,qq 是未打孔的,然后将 p,qp,q 均变为打孔的,一次花费 bb
  • 任意指定两个格子 p,qp,q,其中 p,qp,q 均是打孔的,然后将 p,qp,q 均变为未打孔的,一次花费 bb

上述功能可以使用任意多次。你的目标是用最小的代价把纸带上所有格子的打孔状态变成 相同的,即全部打孔或全部未打孔。

输入格式

本题单个测试点内有多组测试数据。第一行是一个整数 TT,表示数据组数。对每组数据,按如下格式读入:

第一行是三个整数,依次表示 n,a,bn,a,b
第二行是一个长度为 nn 的字符串 ss,表示纸带的初始状态。ss 的第 ii 个字符为 00 表示纸带第 ii 个格子是未打孔的,ss 的第 ii 个字符为 11 表示第 ii 个格子是打孔的。

输出格式

对于每组数据,输出一行一个整数表示答案。

样例

样例输入 1

4
2 1 1
10
3 2 1
110
4 4 2
1010
6 5 6
110011

样例输出 1

1
1
2
10

样例 2

见下发文件 ringtu2.inringtu2.ans,该样例满足 n=100n = 100

数据范围与提示

本题共 1010 个测试点,每个测试点 1010 分。

测试点编号 nn aa bb
1,21,2 =2=2 105\leq 10^5
3,43,4 103\leq 10^3 =1=1 104\geq10^4
5,6,75,6,7 104\geq 10^4 =1=1
8,9,108,9,10 105\leq 10^5

对于全部的测试数据,保证 1T101 \leq T \leq 102n1032 \leq n \leq 10^31a,b1051 \leq a, b \leq 10^5