AT_past202212_d.坊主めくり
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 位玩家要用牌玩一个游戏。
初始时,第一堆有 M 张牌,第二堆有 0 张牌,每位玩家手里也有 0 张牌。
每张牌上写有一个 +、0 或 - 符号。第一堆自顶向下第 i 张牌上的符号记为 Si。
游戏规则如下,玩家轮流按顺序行动:玩家 1,玩家 2,…,玩家 N−1,玩家 N,接着再从玩家 1 开始循环,直到第一堆牌抽光。
- 如果第一堆没有牌,则游戏结束。否则,当前玩家从第一堆顶抽一张牌加到手牌中。然后,根据抽到的那张牌上的符号,执行对应操作:
- 若符号为
+,则将第二堆的所有牌加入该玩家的手牌。 - 若符号为
0,不做任何事。 - 若符号为
-,则把该玩家手上的所有牌移到第二堆。
- 若符号为
请你求出游戏结束时每位玩家手中的牌数。
输入格式
输入为标准输入,格式如下:
N M S1S2…SM
输出格式
输出 N 行。
第 i 行输出玩家 i 最终手中牌的数量。
输入输出样例
输入#1
3 6 000--+
输出#1
0 0 6
输入#2
2 6 ++++++
输出#2
3 3
输入#3
7 20 ++-0+-0++-++0-+0-0-0
输出#3
6 3 0 4 0 2 0
说明/提示
样例解释 1
游戏过程如下:
- 玩家 1 抽到一张
0牌,加入手牌。玩家 1 现在有 1 张牌。 - 玩家 2 抽到一张
0牌,加入手牌。玩家 2 现在有 1 张牌。 - 玩家 3 抽到一张
0牌,加入手牌。玩家 3 现在有 1 张牌。 - 玩家 1 抽到一张
-牌,加入手牌,然后把手牌全部移到第二堆。玩家 1 现在有 0 张牌,第二堆有 2 张牌。 - 玩家 2 抽到一张
-牌,加入手牌,然后把手牌全部移到第二堆。玩家 2 现在有 0 张牌,第二堆有 4 张牌。 - 玩家 3 抽到一张
+牌,加入手牌,然后把第二堆全部牌加到手牌。玩家 3 现在有 6 张牌,第二堆变为 0 张牌。 - 第一堆没牌了,游戏结束。
数据范围
- 2≤N≤2×105
- 1≤M≤2×105
- Si 是
+、0或-。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?