CF1733D1.Zero-One (Easy Version)
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
This is the easy version of the problem. In this version, n≤3000 , x≥y holds. You can make hacks only if both versions of the problem are solved.
You are given two binary strings a and b , both of length n . You can do the following operation any number of times (possibly zero).
- Select two indices l and r ( l<r ).
- Change al to (1−al) , and ar to (1−ar) .
- If l+1=r , the cost of the operation is x . Otherwise, the cost is y .
You have to find the minimum cost needed to make a equal to b or say there is no way to do so.
输入格式
The first line contains one integer t ( 1≤t≤600 ) — the number of test cases.
Each test case consists of three lines. The first line of each test case contains three integers n , x , and y ( 5≤n≤3000 , 1≤y≤x≤109 ) — the length of the strings, and the costs per operation.
The second line of each test case contains the string a of length n . The string only consists of digits 0 and 1 .
The third line of each test case contains the string b of length n . The string only consists of digits 0 and 1 .
It is guaranteed that the sum of n over all test cases doesn't exceed 3000 .
输出格式
For each test case, if there is no way to make a equal to b , print −1 . Otherwise, print the minimum cost needed to make a equal to b .
输入输出样例
输入#1
4 5 8 7 01001 00101 5 7 2 01000 11011 7 8 3 0111001 0100001 5 10 1 01100 01100
输出#1
8 -1 6 0
说明/提示
In the first test case, selecting indices 2 and 3 costs 8 , which is the minimum possible cost.
In the second test case, we cannot make a equal to b using any number of operations.
In the third test case, we can perform the following operations:
- Select indices 3 and 6 . It costs 3 , and a is 0101011 now.
- Select indices 4 and 6 . It costs 3 , and a is 0100001 now.
The total cost is 6 .
In the fourth test case, we don't have to perform any operations.