2861: T4-乌龟对对碰
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:5
解决:1
题目描述
## 游戏规则
YZT 最近在看一个乌龟对对碰游戏。游戏规则如下(下面所有的“乌龟”指的都是乌龟玩具):
### 游戏道具
- 有一个 $3\times 3$ 的九宫格棋盘。编号如下:
- 有 $n$ 个乌龟,编号 $1\sim n$,每个乌龟都有一个颜色,第 $i$ 个乌龟的颜色用一个整数 $a_i$ 表示,颜色有 $10$ 种,分别对应到数字 $0\sim 9$。
- 有一个幸运颜色 $x$($0\sim 9$ 中的一种)
### 游戏流程
第一步、初始的**乌龟数量限制**为 $m$。
第二步、按编号从小到大的顺序,依次在还存在的乌龟中拿乌龟,每拿一个,**乌龟计数器** $+1$。每每个乌龟都放到一个空格子中,如果有多个空格子,放在编号最小的空格子中。
第三步、放的过程中,如果当前乌龟颜色是幸运颜色,那么**乌龟数量限制** $+1$。
第四步、放的过程中,如果已经放满了、或者**乌龟计数器**达到了**乌龟数量限制**,就开始进行结算。
第五步、结算后,如果**乌龟计数器**小于**乌龟数量限制**,那么会回到第二步,继续拿乌龟放到棋盘中。
### 结算规则
编号小的规则优先级更高,每个操作完成后都会再次从小到大检查所有规则,直到所有规则都不满足为止。
1. 【全家福】如果当前棋盘上的乌龟颜色全都不一样,把棋盘上所有乌龟销毁,**乌龟数量限制** $+8$
2. 【同行】如果当前棋盘上 $3$ 只颜色一样的乌龟在同一行,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
3. 【同列】如果当前棋盘上 $3$ 只颜色一样的乌龟在同一列,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
4. 【对角线1】如果当前棋盘上 $3$ 只颜色一样的乌龟在 $1,5,9$ 这三个位置,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
5. 【对角线2】如果当前棋盘上 $3$ 只颜色一样的乌龟在 $3,5,7$ 这三个位置,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
6. 【碰】从 $1\sim 9$ 依次检查棋盘上的每个位置 $i$,如果有另一个位置 $j$ 上的乌龟颜色与 $i$ 一致(如果有多个位置,挑选最小的 $j$),销毁这两只乌龟,**乌龟数量限制** $+1$
常见的结算规则还有清盘的奖励,但本题不考虑。
## 题目描述
输入 $n,m$ 以及 $n$ 个乌龟的颜色 $a_1\sim a_n$。请输出最终**乌龟计数器**会变为多少。
YZT 最近在看一个乌龟对对碰游戏。游戏规则如下(下面所有的“乌龟”指的都是乌龟玩具):
### 游戏道具
- 有一个 $3\times 3$ 的九宫格棋盘。编号如下:
~ | 第一列 | 第二列 | 第三列 |
第一行 | 1 | 2 | 3 |
第二行 | 4 | 5 | 6 |
第三行 | 7 | 8 | 9 |
- 有 $n$ 个乌龟,编号 $1\sim n$,每个乌龟都有一个颜色,第 $i$ 个乌龟的颜色用一个整数 $a_i$ 表示,颜色有 $10$ 种,分别对应到数字 $0\sim 9$。
- 有一个幸运颜色 $x$($0\sim 9$ 中的一种)
### 游戏流程
第一步、初始的**乌龟数量限制**为 $m$。
第二步、按编号从小到大的顺序,依次在还存在的乌龟中拿乌龟,每拿一个,**乌龟计数器** $+1$。每每个乌龟都放到一个空格子中,如果有多个空格子,放在编号最小的空格子中。
第三步、放的过程中,如果当前乌龟颜色是幸运颜色,那么**乌龟数量限制** $+1$。
第四步、放的过程中,如果已经放满了、或者**乌龟计数器**达到了**乌龟数量限制**,就开始进行结算。
第五步、结算后,如果**乌龟计数器**小于**乌龟数量限制**,那么会回到第二步,继续拿乌龟放到棋盘中。
### 结算规则
编号小的规则优先级更高,每个操作完成后都会再次从小到大检查所有规则,直到所有规则都不满足为止。
1. 【全家福】如果当前棋盘上的乌龟颜色全都不一样,把棋盘上所有乌龟销毁,**乌龟数量限制** $+8$
2. 【同行】如果当前棋盘上 $3$ 只颜色一样的乌龟在同一行,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
3. 【同列】如果当前棋盘上 $3$ 只颜色一样的乌龟在同一列,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
4. 【对角线1】如果当前棋盘上 $3$ 只颜色一样的乌龟在 $1,5,9$ 这三个位置,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
5. 【对角线2】如果当前棋盘上 $3$ 只颜色一样的乌龟在 $3,5,7$ 这三个位置,把这 $3$ 只乌龟销毁,**乌龟数量限制** $+2$
6. 【碰】从 $1\sim 9$ 依次检查棋盘上的每个位置 $i$,如果有另一个位置 $j$ 上的乌龟颜色与 $i$ 一致(如果有多个位置,挑选最小的 $j$),销毁这两只乌龟,**乌龟数量限制** $+1$
常见的结算规则还有清盘的奖励,但本题不考虑。
## 题目描述
输入 $n,m$ 以及 $n$ 个乌龟的颜色 $a_1\sim a_n$。请输出最终**乌龟计数器**会变为多少。
输入
第一行为整数 $n,m,x$。
第二行为一个长度为 $n$ 的字符串,第 $i$ 个字符为 $a_i$。
第二行为一个长度为 $n$ 的字符串,第 $i$ 个字符为 $a_i$。
输出
输出最终**乌龟计数器**的大小。
样例输入 复制
27 10 3
012345678999892922167450000
样例输出 复制
23
提示
## 样例解释
乌龟计数器 $0$、初始乌龟限制:$10$、幸运颜色为 $3$。
### 第一轮
```
012345678999892922167450000
~~~~~~~~~
```
拿了 $9$ 个乌龟,乌龟计数器变为 $9$,乌龟限制变为 $11$(触发了一次幸运颜色)
结算时触发了第一条规则,棋盘清空,乌龟限制变为 $19$(【全家福】 $+8$)
### 第二轮
```
012345678999892922167450000
xxxxxxxxx~~~~~~~~~
```
拿了 $9$ 个乌龟,乌龟计数器 $18$,乌龟限制 $19$
【同行$+2$】 乌龟限制变为 $21$,棋盘变为:
【碰$+1$】 乌龟限制变为 $22$,棋盘变为:
【碰$+1$】 乌龟限制变为 $23$,棋盘变为:
### 第三轮
```
012345678999892922167450000
xxxxxxxxxxxxxxxxxx~~~~~
```
拿了 $5$ 个乌龟,乌龟计数器 $23$,乌龟限制 $23$
没有触发任何结算规则,游戏结束。
## 数据规模与约定
对于 $100\%$ 的数据,$1 \le n \le 1000$,$1 \le m \le 100$,$a_i$ 与 $x$ 必然是 $0\sim 9$ 中的一个。
题目保证最终的**乌龟计数器**大小必然小于等于 $n$。
乌龟计数器 $0$、初始乌龟限制:$10$、幸运颜色为 $3$。
### 第一轮
```
012345678999892922167450000
~~~~~~~~~
```
拿了 $9$ 个乌龟,乌龟计数器变为 $9$,乌龟限制变为 $11$(触发了一次幸运颜色)
~ |
第一列 | 第二列 | 第三列 |
第一行 | 0 | 1 | 2 |
第二行 | 3 | 4 | 5 |
第三行 | 6 | 7 | 8 |
结算时触发了第一条规则,棋盘清空,乌龟限制变为 $19$(【全家福】 $+8$)
### 第二轮
```
012345678999892922167450000
xxxxxxxxx~~~~~~~~~
```
拿了 $9$ 个乌龟,乌龟计数器 $18$,乌龟限制 $19$
~ | 第一列 | 第二列 | 第三列 |
第一行 | 9 | 9 | 9 |
第二行 | 8 | 9 | 2 |
第三行 | 9 | 2 | 2 |
【同行$+2$】 乌龟限制变为 $21$,棋盘变为:
~ | 第一列 | 第二列 | 第三列 |
第一行 |
|
|
|
第二行 | 8 | 9 | 2 |
第三行 | 9 | 2 | 2 |
【碰$+1$】 乌龟限制变为 $22$,棋盘变为:
~ | 第一列 | 第二列 | 第三列 |
第一行 |
|
|
|
第二行 | 8 |
|
2 |
第三行 |
|
2 | 2 |
【碰$+1$】 乌龟限制变为 $23$,棋盘变为:
~ | 第一列 | 第二列 | 第三列 |
第一行 |
|
|
|
第二行 | 8 |
|
|
第三行 |
|
|
2 |
### 第三轮
```
012345678999892922167450000
xxxxxxxxxxxxxxxxxx~~~~~
```
拿了 $5$ 个乌龟,乌龟计数器 $23$,乌龟限制 $23$
~ | 第一列 | 第二列 | 第三列 |
第一行 | 1 | 6 | 7 |
第二行 | 8 | 4 | 5 |
第三行 |
|
|
2 |
没有触发任何结算规则,游戏结束。
## 数据规模与约定
对于 $100\%$ 的数据,$1 \le n \le 1000$,$1 \le m \le 100$,$a_i$ 与 $x$ 必然是 $0\sim 9$ 中的一个。
题目保证最终的**乌龟计数器**大小必然小于等于 $n$。