#P1661. 字符串(strcount)

字符串(strcount)

【题目描述】

你有n个字母A ,m个字母B,你可以将这些字母组成成为一个字符串,你需要使得这个字符串的权值尽量大。现在我们以如下规则计算这个字符串的权值。

  1. 每有连续的a个A ,且下一个字母依旧是A,则权值 +1。假设a=3 ,且 连续有 7 个 A,那么根据此规则,权值+2。你可以理解一段长度为cntA的所获得的权值为⌊cntA/a ⌋
  2. 每有连续的b个B ,且下一个字母依旧是B,则权值 +1。
  3. 上一个字母和当前字母不一样时,权值+1。(第一个字母前面没有字母,也会使得权值 +1,详见样例 1)

假设当前字母是B ,则至少需要有连续c个字母B,下一个字母才可以切换成A。字母A切换到字母B没有任何限制。 请问你能构造的字符串权值最大可能是多少?

【输入格式】

输入第一行包含一个正整数t表示测试的组数。

接下来每一行代表一个测试数据,给出五个正整数n,m,a,b,c ,意义如题面所示。

【输出格式】

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

【样例 1 输入】

6
1 1 1 1 1
5 4 3 3 2
5 5 3 3 2
3 9 3 3 3
7 3 3 5 8
4 7 2 8 5

【样例 1 输出】

2
5
6
8
4
5

【样例 1 说明】

样例 1 可以设计为AB或者BA ,第一个字母前面没有字母,初始使得权值为1,第二个字母和第一个不一样,权值 +1,总权值为 2。

样例 2 可以设计为ABBAAAABB,也可以设计成ABBAAABBA,权值均为 5。

对于样例 3,可以设计为ABBABBAAAB ,权值为 6。

对于样例 4,可以设计为ABBBBABBBBAB ,权值为 8。

对于样例 5,可以设计为AAAAAABBB ,权值为 4。

对于样例 6,可以设计为AAABBBBBABB,权值为 5。

【数据范围】

对于 20% 的数据,有 1 ≤t≤5,1≤n,m,a,b,c≤10

对于 50% 的数据,有 1 ≤t≤50,1≤n,m,a,b,c≤100

对于 100% 的数据,,有1 ≤t≤50,1≤n,m,a,b,c≤100000