比赛场次 | 633 |
---|---|
比赛名称 | 2024国庆练习2 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2024-10-05 14:30:00 |
结束时间 | 2024-10-05 18:30:00 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 战棋 |
---|---|
输入输出 | chess.in/out |
时间限制 | 2000 ms (2 s) |
内存限制 | 512 MiB |
测试点数 | 20 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
小金 | AAAAAAAAAAAAAAAAAAAA |
0.135 s | 3.56 MiB | 100 |
会挽弯弓满月 | AAAAAAAAAAAAAAAAAWWW |
0.163 s | 3.57 MiB | 85 |
wdsjl | AAAAAAAAAAAAAWWWAWWW |
0.143 s | 3.59 MiB | 70 |
123 | AAAAAAAAAWWWWAAAAWWW |
0.135 s | 3.39 MiB | 65 |
郑霁桓 | AAAAAAAAAAWWWAWWAAWW |
0.146 s | 3.35 MiB | 65 |
彭欣越 | AAAAAAAAAWWWWAAAAWWW |
0.155 s | 3.38 MiB | 65 |
dream | AAAAAAAAAWWWWAAAAWWW |
0.270 s | 3.38 MiB | 65 |
袁书杰 | AWWAAWWWWAWWWAWWAAWW |
0.063 s | 3.40 MiB | 35 |
KKZH | WWWAWWWWWWWWWWWWWWWW |
0.060 s | 3.33 MiB | 5 |
小 S 和小 R 各拥有一个棋盘,每个棋盘上从左到右依次摆放着 n 个棋子。
游戏由无限个回合组成。对于一个回合,你需要依次进行攻击前结算、攻击结算、死亡结算,然后回合结束,进入下一个回合。
当一个回合开始时,存在一个玩家的棋盘上没有棋子,那么游戏结束。两方各自加上 (此时自己棋盘上剩下的棋子个数) 的积分。
每个棋子有四个属性:攻击力,生命值,种族,特殊属性。攻击力和生命值为两个正整数,种族要么是鱼人 (”M”,Murloc),要么是海盗 (”P”,Pirate),特殊属性有以下 5 种:
提示 1:鱼人领军和海盗队长棋子被移出棋盘后就不会产生效果了
提示 2:如果有多个特殊属性相同的随从,效果会触发多次而不是一次
提示 3:可能会出现“鱼人”属性的“海盗队长”这类的棋子,这并不影响结算
首先在两个玩家的棋盘上各选出一个棋子,它们即将互相攻击具体的,你需要调用恰好两次以下函数:
int xx, AA, BB, CC;// 这四个数会在数据中给出 int Getid() { return xx = (xx * AA + BB) % CC;}
注意:你不应该在其他任何时候调用这个函数
将两方棋盘上还存在的棋子各自从左到右依次从零开始编号。设函数返回值依次为 x,y,那么即将攻击的两个棋子分别为:
设小 S 棋盘上还剩N1个棋子,则为小 S 棋盘上编号为x%N1的棋子,
设小 R 棋盘上还剩N2个棋子,则为小 R 棋盘上编号为y%N2的棋子,
选定以后,你应该结算海盗队长的效果,接下来这两个棋子互相攻击。具体的,使这两个棋子的生命值各自减去另一个棋 子的攻击力 然后你应该将此时生命值小于等于 0 的所有棋子移出棋盘,同时结算鱼人国王和海盗之魂的效果 (可以发现,结算顺序不影响答案,所以可以以任何顺序结算)。
你需要按照上述规则模拟 500 局游戏,输出两个人各自的总积分。注意:每局游戏开始时棋盘上的棋子会重置(攻击力和生命值还原为初始数值),但 xx 不会重置。
第一行读入五个非负整数 n,xx,AA,BB,CC。
接下来 n 行按照从左到右的顺序描述小 S 的棋子,依次是两个正整数表示初始攻击力、初始生命值,两个大写字母表示种族、特殊属性。
接下来 n 行从左到右描述小 R 的棋子,格式同上。
一行输出两个整数,分别表示小 S 的得分和小 R 的得分。
3 0 0 0 233 10 30 M B 30 30 M K 30 100 M L 10 30 P B 30 30 P C 20 100 P G
0 500
保证总回合数不会超过 $10^5$ ,也就是说你几乎不用关心时间限制的问题。
本题出现的所有读入数值不会超过 1000。
测试点 1-3(15pts):n = 1。
测试点 4-9(30pts):n ≤ 20,只有白板。
测试点 10-13(20pts):n ≤ 5,只有鱼人。
测试点 14-17(20pts):n ≤ 5,只有海盗。
测试点 18-20(15pts):n ≤ 50。