C. 乒乓球(pingpong)

    传统题 文件IO:pingpong 1000ms 256MiB

乒乓球(pingpong)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

小 Z 和小 Y 在打乒乓球比赛。

规则是这样的:对于每一颗球,如果小 Z 赢,小 Z 得一分,如果小 Y 赢,小 Y 得一分。谁的得分首先大于等于 1111 分,且比对方的得分高出至少 22 分,则赢得此局比赛。

在记录了 nn 颗球的胜负关系后,聪明的裁判员小 X 发现:对于任意第 i(i>k)i(i>k) 颗球来说,第 ii 颗球的胜负关系,与第 i−ki-k 颗球的胜负关系一模一样。因此,小 X 只记录了前 kk 颗球的胜负关系。

然而,在记录完毕后,他发现一个重要的问题:他忘记统计两个人分别赢了几局了!

现在想请你帮他还原一下最终的结果。

输入格式

从 pingpong.in 文件读入数据。

第一行输入两个整数 n,kn,k,含义如题目所述。

接下来一行有一个长度为 kk 的字符串 ss,第 ii 个字符是 A 则表示第 ii 局小 Z 赢了,是 B 则表示第 ii 局小 Y 赢了。

输出格式

输出到 pingpong.out 文件。

输出一行,输出格式形如 X:Y,其中 X 是一个整数表示小 Z 赢了几局,Y 也是一个整数表示小 Y 赢了几局。

样例

20 3
AAB
1:0
1000 6
AABBAB
24:23

样例3

点击链接 ex_pingpong3.in 和 ex_pingpong3.ans 下载大样例 3 的输入数据和输出数据。

此样例满足 n≤107n \le 10^7。

样例4

点击链接 ex_pingpong4.in 和 ex_pingpong4.ans 下载大样例 4 的输入数据和输出数据。

此样例满足 n≤1018n \le 10^{18}。

说明/提示

样例 1 解释

最终的序列实际上是 AABAABAABAABAABAABAA,在第 1616 颗球结束时,小 Z 和小 Y 的部分是 11:511:5,小 Z 赢得一局。

在 2020 颗球记录完毕时,第二局的小比分是 3:13:1。

数据范围

对于 5%5\% 的数据:字符串中只包含 A。

对于 30%30\% 的数据:n≤107n\leq 10^7。

对于另外 30%30\% 的数据:保证无论是谁得分到达 1111 分时,必定取得这局的胜利。

对于另外 15%15\% 的数据:保证 nn 是 kk 的倍数。

对于 100%100\% 的数据:1≤n≤1018,1≤k≤1051\le n\leq 10^{18},1\le k\leq 10^5。

模拟赛

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-10-15 14:00
结束于
2026-10-15 16:10
持续时间
2.2 小时
主持人
参赛人数
7