logo AlgoBeat OnlineJudge
登录 注册

#216890. [JLCPC 2026] 洛克王国世界

内存限制:1024 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

tarjen 最近在玩洛克王国,他想要捉一些异色精灵。

在刷异色精灵的过程中,tarjen 需要先不断捕捉普通精灵,捕捉普通精灵可以积累异色池的污染进度。当污染进度达到要求时,地图上会刷新出对应池子的污染精灵。在击败污染精灵后,有机会遇到异色精灵

不过,地图上的污染精灵数量有限。如果污染精灵刷得太多,旧的污染精灵会被新的污染精灵挤掉。

同时,游戏中存在刷新异色精灵的保底机制。每个异色池有独立的保底计数。每击败一次当前池子的污染精灵,该池子的保底计数加一。当某个池子的保底计数达到 时,本次击败污染精灵后一定会遇到异色精灵。

具体规则如下。

共有 种普通精灵, 个家族和 个属性。第 种普通精灵属于家族 ,属性为

游戏中共有两类异色池:

  • 家族池 :第 个家族的异色池。
  • 属性池 :第 个属性的异色池。

每个异色池 维护了四个值:

  • :污染进度,初始为
  • :保底计数,初始为
  • :刷新一只污染精灵所需的普通捕获次数(给定常数)。
  • :幸运阈值(给定常数)。

地图中最多同时存在 只污染精灵。所有污染精灵按刷新时间从早到晚排成一个队列。若数量超过 ,则不断移除队首的污染精灵,直到数量不超过 。被地图容量挤掉的污染精灵不会被视为击败,也不会影响任何池子的保底计数。

共有 次操作,每次操作为以下两种之一:

  • 普通捕获 C T x c

    表示 tarjen 连续捕获第 种普通精灵 次,并将这 次捕获计入某一类异色池。若 ,则计入家族池 ;若 ,则计入属性池

    设本次捕获计入的池子为 ,则令 。然后,每当 ,就刷新出一只属于池子 的污染精灵,并令

    注意,一次普通捕获可能会刷新出多只污染精灵。

    将本次刷新出的污染精灵依次加入队列尾部,若数量超过 则移除队首的污染精灵。

  • 击败污染精灵 B k r

    表示 tarjen 选择当前地图中从旧到新第 只污染精灵进行挑战。

    若当前地图中的污染精灵数量不足 ,则输出 MISS,本次操作不改变任何状态。

    否则,设该污染精灵属于池子 。将其从地图中移除,并令

    然后进行异色判定。每个池子 有一个幸运阈值 。若满足 ,则本次遇到异色,并令 ;否则不重置保底计数。具体输出格式见输出部分。

输入格式

第一行包含五个整数 ),分别表示普通精灵种类数、家族数量、属性数量、地图中最多同时存在的污染精灵数量以及操作次数。

接下来 行,每行两个整数 )。

接下来一行 个整数 )。

接下来一行 个整数 )。

接下来一行 个整数 )。

接下来一行 个整数 )。

接下来 行,每行描述一个操作。格式为 C T x c)或 B k r)。

输出格式

对于每个 B 操作,输出一行结果:

  • 若地图中不足 只污染精灵,输出 MISS
  • 否则,若遇到异色,输出 SHINY F xSHINY E x
  • 否则,若未遇到异色,输出 NORMAL F x pNORMAL E x p,其中 为对应异色池编号, 为该池子当前的保底计数。

样例

样例输入 1

5 2 2 5 10
1 2
1 1
2 2
1 1
2 2
2 2
2 3
40 5
4 41
C E 5 9
C E 4 5
B 2 608984673
B 4 918347739
B 4 37535012
C E 5 7
B 1 712704464
C F 4 7
B 3 270899745
B 5 363752455

样例输出 1

NORMAL E 2 1
NORMAL E 1 1
MISS
NORMAL E 2 2
NORMAL F 1 1
MISS

样例输入 2

3 2 1 3 8
1 1
1 1
2 1
2 3
2
0 5
10
C F 1 2
C E 2 4
B 2 50
C F 3 6
B 3 3
B 5 1
C F 1 2
B 3 100

样例输出 2

NORMAL E 1 1
SHINY F 2
MISS
NORMAL F 1 1

数据范围与提示

对于样例 2,我们用 表示池子 的污染精灵, 表示池子 的污染精灵。

  • 前两次捕获后,地图中的污染精灵为
  • 执行 B 2 50:击败第 只()。,输出 NORMAL E 1 1
  • 之后捕获第 种精灵并计入家族池,刷新 。地图容量为 ,旧的被挤掉后变为
  • 执行 B 3 3:击败第 只()。,遇到异色,输出 SHINY F 2
  • 执行 B 5 1:当前地图不足 只,输出 MISS
  • 最后一次击败的是 ,未遇到异色,输出 NORMAL F 1 1