CF120G Boom
题目背景
**注意:本题开启文件输入输出**。
**输入文件:`input.txt`**
**输出文件:`output.txt`**
题目描述
请模拟一局简化版的 Boom 游戏,规则如下:
共有 $n$ 支队伍参与游戏,每队由 $2$ 名玩家组成,游戏目标是向队友解释卡片上的单词。
每名玩家都有 $2$ 个属性:对于第 $i$ 队的第 $j$ 名玩家($1 \le i \le n$, $1 \le j \le 2$),$a_{i,j}$ 表示该玩家的解释能力值,$b_{i,j}$ 表示该玩家的理解能力值。
使用 $m$ 张卡片进行游戏,每张卡片写有一个单词。第 $k$ 张卡片($1 \le k \le m$)具有属性 $c_k$,表示该单词的复杂程度。
游戏开始前将卡片洗好组成牌堆,玩家轮流进行游戏,顺序为:
> 第 $1$ 队 $1$ 号玩家 $\to$ 第 $2$ 队 $1$ 号玩家 $\to$ ... $\to$ 第 $n$ 队 $1$ 号玩家 $\to$ 第 $1$ 队 $2$ 号玩家 $\to$ 第 $2$ 队 $2$ 号玩家 $\to$ ... $\to$ 第 $n$ 队 $2$ 号玩家 →第 $1$ 队 $1$ 号玩家 $\to$ ...
循环进行。
每回合持续 $t$ 秒。对于每个回合,当玩家剩余的时间大于 $0$ 时,玩家从牌堆顶部取卡并开始解释。第 $i$ 队第 $j$ 名玩家向队友(第 $i$ 队的第 $q$ 名球员,其中若 $j=1$ 则 $q=2$,否则 $q=1$)解释第 $k$ 张卡片中的单词所需的时间为 $\max(1,c_k-(a_{i,j}+b_{i,q})-d_{i,k})$。其中 $d_{i,k}$ 表示该队之前解释该单词已花费的时间(初始为 $0$)
- 如果队伍在回合结束前可以猜中单词,那么从回合的剩余时间中减去猜中单词所用的时间,这张卡片被弃,该队赢得 $1$ 分,游戏继续;
- 如果队伍在回合结束前不能猜中单词,则将卡放回牌堆底部,$d_{i,k}$ 增加本次解释用时。
当所有 $m$ 张卡片被成功猜出后游戏结束。
计算每支队伍的最终得分及其猜中的单词。
输入格式
第一行包含两个整数 $n,t$ ($1 \le n,t \le 100$),表示队伍数量和回合持续时间。
接下来 $n$ 行,每行包含四个整数:$a_{i,1},b_{i,1},a_{i,2},b_{i,2}$,表示第 $i$ 队两名成员的两个属性值($1 \le a_{i,j},b_{i,j} \le 100$)。
接下来一行一个整数 $m$($1 \le m \le 100$)表示总卡片数。
接下来的 $2m$ 行按牌堆从上到下的顺序描述每张卡片。对于第 $k$ 张卡片输入两行,第一行是卡片上的单词,由小写英文字母组成,不超过 $20$ 个字符;第二行一个整数 $c_k$($1 \le c_k \le 100$)表示第 $k$ 张卡片上单词的复杂程度。保证每张卡片上的单词不同。
输出格式
输出 $n$ 行,依次表示 $n$ 支队伍的成绩。每行第一个数字表示第 $i$ 支球队赢得的分数 $s_i$。然后按照该队猜出单词的顺序依次输出 $s_i$ 个单词,以空格间隔。
说明/提示
使用 AI 辅助翻译