#P1181. 闻道长安似弈棋

闻道长安似弈棋

问题描述

李将军惊诧于叶书生地惊人才智与在大唐超级计算机中的权限,他想知道叶书生是怎样进入朝廷的。

叶书生说,在我任安亭节度使的时候,曾经是我们那边的围棋社长,后来隐居终南山,在终南山第一届棋王争霸赛上反向获得冠军,玄宗封我为“慈善棋王”,并且召见了我。

“那么我可要会会你。”

李将军曾经玩了一种非常好玩的战棋,是欧阳尚书介绍给他的,他想挑战一下叶书生。

名字叫做游熙罔。

初始场上是空的,双方每个人初始生命值 HPHP3030,每个人有 77 个空地,即只能招唤出 77 个单位。双方轮流执行各自的回合。每个自己的回合可以打出任意张单位卡进行召唤(为了简化游戏,这里不涉及费用的限制),每次打出一张。每个单位有不同的攻击力 atkatk 和生命值 HPHP。召唤完成后回合结束。自己的回合结束时己方单位自动对对方发起攻击,但是这一个回合刚召唤出来的单位不会发起攻击。 攻击的结算方法是,双方各自场上的单位按照召唤的顺序从早到晚进行排序,己方的第 ii 个单位攻击对方的第 ii 个单位,对防守方单位造成攻击单位攻击值的伤害(对方单位的 hphp 减少己方的 atkatk 值),同时受到对方单位造成的伤害(己方单位的 hphp 减少对方的 atkatk 值)。所有的攻击同时进行。如果有单位的 hphp 减少到 00 或以下,则被判定为消灭,移除游戏。如果己方单位比对方多,那么没有攻击对象的单位可以直接攻击对方玩家,对对方玩家造成 atkatk 值的伤害。hphp 减少到 00 或以下的玩家被判定为输。

“这明明是卡牌嘛。”

“当时上面风头紧,突然查房的时候棋子不好收拾,用卡牌多方便啊。”

李将军武艺高强,手速极快。叶书生最近在编写《高等树学》第八版,手速也极快。

他们只管下“棋”,现在让你做裁判,输入一系列双方的操作,输出裁判结果。如果遇到错误的操作,需要输出操作错误。如果游戏结束,需要输出游戏结束和胜利玩家(详细格式见输出说明),并且程序结束运行。 如果你判断正确,有希望成为下一任安亭慈善棋王哦。

输入格式

第一行一个整数 NN,代表操作的数量(1N10001 \leq N \leq 1000)。

22 行到第 N+1N + 1 行,每行一个操作。

操作的模式如下:

  • Summon atk hp:当前玩家召唤一个攻击力为 atkatk,生命值为 hphp 的单位。
  • Turn End:当前玩家结束回合。

所有的 atkatkhphp 都是在 10001000 以内的正整数。

输出格式

对于第 ii 个操作,如果操作错误(即已经有 77 个单位并召唤新的单位),则输出 error i

如果第 ii 次操作,如果操作后游戏结束,则输出胜利玩家。如果先手胜利,输出 player 1 win;如果后手胜利,输出 player 2 win。输出胜利玩家之后结束程序,忽略后续的输入。

如果 NN 次操作后都没有结束游戏,那么输出最终场上的状态。首先按照召唤顺序输出先手的单位,然后按照召唤顺序输出后手的单位,一个单位占一行。每个单位输出攻击力 atkatk 和生命值 hphp,用空格隔开。最后一行输出先手的剩余生命值和后手的剩余生命值,用空格隔开。

样例输入

10
Summon 1 1
Turn End
Summon 1 1
Summon 30 30
Turn End
Summon 3 3
Turn End
Summon 30 30
Turn End
Turn End

样例输出

30 27
30 30
30 30

提示

为了说明 error 的输出格式,给出样例 2:

输入:

10
Summon 10 10
Summon 10 10  
Summon 10 10  
Summon 10 10
Summon 10 10
Summon 10 10
Summon 10 10
Summon 10 10
Turn End
Summon 1 1

输出:

error 8
10 10
10 10
10 10
10 10
10 10
10 10
10 10
1 1
30 30