CF1315B.Homecoming
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
After a long party Petya decided to return home, but he turned out to be at the opposite end of the town from his home. There are n crossroads in the line in the town, and there is either the bus or the tram station at each crossroad.
The crossroads are represented as a string s of length n, where si=A, if there is a bus station at i-th crossroad, and si=B, if there is a tram station at i-th crossroad. Currently Petya is at the first crossroad (which corresponds to s1) and his goal is to get to the last crossroad (which corresponds to sn).
If for two crossroads i and j for all crossroads i,i+1,…,j−1 there is a bus station, one can pay a roubles for the bus ticket, and go from i-th crossroad to the j-th crossroad by the bus (it is not necessary to have a bus station at the j-th crossroad). Formally, paying a roubles Petya can go from i to j if st=A for all i≤t<j.
If for two crossroads i and j for all crossroads i,i+1,…,j−1 there is a tram station, one can pay b roubles for the tram ticket, and go from i-th crossroad to the j-th crossroad by the tram (it is not necessary to have a tram station at the j-th crossroad). Formally, paying b roubles Petya can go from i to j if st=B for all i≤t<j.
For example, if s="AABBBAB", a=4 and b=3 then Petya needs:

- buy one bus ticket to get from 1 to 3,
- buy one tram ticket to get from 3 to 6,
- buy one bus ticket to get from 6 to 7.
Thus, in total he needs to spend 4+3+4=11 roubles. Please note that the type of the stop at the last crossroad (i.e. the character sn) does not affect the final expense.
Now Petya is at the first crossroad, and he wants to get to the n-th crossroad. After the party he has left with p roubles. He's decided to go to some station on foot, and then go to home using only public transport.
Help him to choose the closest crossroad i to go on foot the first, so he has enough money to get from the i-th crossroad to the n-th, using only tram and bus tickets.
派蒂亚参加完一场漫长的聚会后决定回家,但他发现自己身处城镇的最远端,与家正好相对。镇上共有 n 个十字路口排成一条直线,每个十字路口处要么设有公交车站,要么设有有轨电车站。
这些十字路口用一个长度为 n 的字符串 s 表示:若第 i 个十字路口处是公交车站,则 si=A;若为有轨电车站,则 si=B。目前派蒂亚位于第一个十字路口(对应 s1),他的目标是到达最后一个十字路口(对应 sn)。
若对两个十字路口 i 和 j,在所有从 i 到 j−1 的十字路口(即 i,i+1,…,j−1)上均为公交车站,则可花费 a 卢布购买一张公交车票,乘坐公交车从第 i 个十字路口直达第 j 个十字路口(注意:第 j 个十字路口本身不必是公交车站)。形式化地说,只要对所有满足 i≤t<j 的 t 均有 st=A,那么花费 a 卢布,派蒂亚即可从 i 到达 j。
若对两个十字路口 i 和 j,在所有从 i 到 j−1 的十字路口(即 i,i+1,…,j−1)上均为有轨电车站,则可花费 b 卢布购买一张有轨电车票,乘坐有轨电车从第 i 个十字路口直达第 j 个十字路口(注意:第 j 个十字路口本身不必是有轨电车站)。形式化地说,只要对所有满足 i≤t<j 的 t 均有 st=B,那么花费 b 卢布,派蒂亚即可从 i 到达 j。
例如,若 s=AABBBAB,a=4,b=3,则派蒂亚需要:

- 购买一张公交车票,从第 1 个十字路口到达第 3 个十字路口;
- 购买一张有轨电车票,从第 3 个十字路口到达第 6 个十字路口;
- 购买一张公交车票,从第 6 个十字路口到达第 7 个十字路口。
因此,他总共需花费 4+3+4=11 卢布。请注意:最后一个十字路口处的站点类型(即字符 sn)并不影响总费用。
现在派蒂亚位于第一个十字路口,他希望抵达第 n 个十字路口。聚会结束后,他身上仅剩 p 卢布。他决定先步行前往某个十字路口,然后仅依靠公共交通(公交或有轨电车)回家。
请帮他选择离起点最近的十字路口 i(即最小的 i),使得他从该十字路口 i 出发,仅使用公交和有轨电车票,便能以不超过 p 卢布的费用抵达第 n 个十字路口。
输入格式
Each test contains one or more test cases. The first line contains the number of test cases t (1≤t≤104).
The first line of each test case consists of three integers a,b,p (1≤a,b,p≤105) — the cost of bus ticket, the cost of tram ticket and the amount of money Petya has.
The second line of each test case consists of one string s, where si=A, if there is a bus station at i-th crossroad, and si=B, if there is a tram station at i-th crossroad (2≤∣s∣≤105).
It is guaranteed, that the sum of the length of strings s by all test cases in one test doesn't exceed 105.
每个测试包含一个或多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。
每个测试用例的第一行包含三个整数 a,b,p(1≤a,b,p≤105)—— 分别表示公交车票价格、有轨电车票价格以及 Petya 拥有的钱数。
每个测试用例的第二行包含一个字符串 s,其中若第 i 个路口处为公交车站,则 si=A;若为有轨电车站,则 si=B(2≤∣s∣≤105)。
保证:所有测试用例中字符串 s 的长度总和不超过 105。
输出格式
For each test case print one number — the minimal index i of a crossroad Petya should go on foot. The rest of the path (i.e. from i to n he should use public transport).
对于每个测试用例,输出一个数字——Petya 应该步行前往的十字路口的最小索引 i。路径的其余部分(即从 i 到 n)他应乘坐公共交通工具。
输入输出样例
输入#1
5 2 2 1 BB 1 1 1 AB 3 2 8 AABBBBAABB 5 3 4 BBBBB 2 1 1 ABABAB
输出#1
2 1 3 1 6
输入解题思路,AI测评打分。不知道怎么写?