乌龟对对碰

题目描述

Y 同学正在观察一场“乌龟对对碰”游戏。

游戏使用一个 3×33\times3 的棋盘,共有 99 个位置,按照从左到右、从上到下的顺序编号为:

第一列 第二列 第三列
第一行 11 22 33
第二行 44 55 66
第三行 77 88 99

共有 nn 只乌龟,按照 1n1\sim n 编号。第 ii 只乌龟的颜色为 aia_i,颜色使用数字 090\sim9 表示。

此外,给定一种幸运颜色 xx

游戏中维护两个整数:

  • 乌龟计数器:初始值为 00
  • 乌龟数量限制:初始值为 mm

游戏按照以下流程进行。

放置乌龟

按照编号从小到大的顺序依次取出尚未处理的乌龟。

每取出一只乌龟:

  1. 乌龟计数器增加 11
  2. 将这只乌龟放入棋盘中编号最小的空位置;
  3. 如果这只乌龟的颜色等于幸运颜色 xx,则乌龟数量限制增加 11

每放入一只乌龟后,如果满足以下任意一个条件,则立即进行一次结算:

  • 棋盘上的 99 个位置已经全部放满;
  • 乌龟计数器已经达到乌龟数量限制。

结算规则

结算时按照以下 66 条规则依次检查。

规则编号越小,优先级越高。每执行完一条规则后,都需要重新从规则 11 开始检查,直到所有规则均无法执行为止。

规则 1:全家福

如果当前棋盘上所有乌龟的颜色两两不同,则销毁棋盘上的所有乌龟,并令乌龟数量限制增加 88

规则 2:同行

如果存在某一行的 33 个位置均有乌龟,并且这 33 只乌龟颜色相同,则销毁这 33 只乌龟,并令乌龟数量限制增加 22

规则 3:同列

如果存在某一列的 33 个位置均有乌龟,并且这 33 只乌龟颜色相同,则销毁这 33 只乌龟,并令乌龟数量限制增加 22

规则 4:对角线 1

如果位置 1,5,91,5,9 上均有乌龟,并且这 33 只乌龟颜色相同,则销毁它们,并令乌龟数量限制增加 22

规则 5:对角线 2

如果位置 3,5,73,5,7 上均有乌龟,并且这 33 只乌龟颜色相同,则销毁它们,并令乌龟数量限制增加 22

规则 6:碰

从位置 11 到位置 99 依次检查。

对于当前检查的位置 ii,如果该位置有乌龟,并且存在另一个位置 jj,使得位置 jj 上的乌龟与位置 ii 上的乌龟颜色相同,则:

  • 若有多个满足条件的位置 jj,选择编号最小的一个;
  • 销毁位置 ii 和位置 jj 上的两只乌龟;
  • 乌龟数量限制增加 11

执行完本次操作后,重新从规则 11 开始检查。

游戏结束

一次结算结束后:

  • 如果乌龟计数器仍小于乌龟数量限制,并且还有尚未处理的乌龟,则继续按照编号顺序放置乌龟;
  • 否则游戏结束。

请你求出游戏结束时乌龟计数器的值。

输入格式

第一行包含三个整数 n,m,xn,m,x,分别表示乌龟数量、初始乌龟数量限制以及幸运颜色。

第二行包含一个长度为 nn 的字符串。

字符串的第 ii 个字符表示第 ii 只乌龟的颜色 aia_i,每个字符均为 09 中的一个数字。

输出格式

输出一行一个整数,表示游戏结束时乌龟计数器的值。

样例

样例输入 #1

27 10 3
012345678999892922167450000

样例输出 #1

23

样例解释

乌龟计数器 00、初始乌龟限制:1010、幸运颜色为 33

第一轮

012345678999892922167450000
~~~~~~~~~

拿了 99 个乌龟,乌龟计数器变为 99,乌龟限制变为 1111(触发了一次幸运颜色)

~ 第一列 第二列 第三列
第一行 0 1 2
第二行 3 4 5
第三行 6 7 8

结算时触发了第一条规则,棋盘清空,乌龟限制变为 1919(【全家福】 +8+8

第二轮

012345678999892922167450000
xxxxxxxxx~~~~~~~~~

拿了 99 个乌龟,乌龟计数器 1818,乌龟限制 1919

~ 第一列 第二列 第三列
第一行 9 9 9
第二行 8 9 2
第三行 9 2 2

【同行+2+2】 乌龟限制变为 2121,棋盘变为:

~ 第一列 第二列 第三列
第一行
第二行 8 9 2
第三行 9 2 2

【碰+1+1】 乌龟限制变为 2222,棋盘变为:

~ 第一列 第二列 第三列
第一行
第二行 8 2
第三行 2 2

【碰+1+1】 乌龟限制变为 2323,棋盘变为:

~ 第一列 第二列 第三列
第一行
第二行 8
第三行 2

第三轮

012345678999892922167450000
xxxxxxxxxxxxxxxxxx~~~~~

拿了 55 个乌龟,乌龟计数器 2323,乌龟限制 2323

~ 第一列 第二列 第三列
第一行 1 6 7
第二行 8 4 5
第三行 2

没有触发任何结算规则,游戏结束。

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1n10001\le n\le1000
  • 1m1001\le m\le100
  • 0x90\le x\le9
  • ai0,1,,9a_i\in{0,1,\dots,9}
  • 最终乌龟计数器的值不超过 nn
测试点编号 分值 具体限制 特殊性质
121\sim2 1010 n20n\le20 特殊性质 A
343\sim4 n100n\le100 特殊性质 B
565\sim6 n300n\le300 特殊性质 C
7107\sim10 2020 n500n\le500
111411\sim14 n800n\le800
152015\sim20 3030 无额外限制
  • 特殊性质 A:保证 mnm\ge n
  • 特殊性质 B:保证所有乌龟的颜色均不等于幸运颜色 xx
  • 特殊性质 C:保证所有乌龟的颜色均相同。