2020 CCPC Wannafly Winter Camp Day6 M—自闭——模拟

链接:https://ac.nowcoder.com/acm/contest/4137/M
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
对于一场比赛,一共有 {n}n 个参赛选手和 {m}m 个题,为了方便我们假设一个提交记录的结果只有 WA 和 AC 两种,我们用以下规则定义一个选手的自闭程度:(以下规则优先级从高到低,如有冲突(例如规则3,6),以编号小的规则为准)。
如果一个选手没有做出任何提交,则最后他的自闭程度为 998244353
如果一个选手没有 AC 任何一道题,则最后他的自闭程度为 1000000
如果一个选手 AC 了所有题,则最后它的自闭程度为 0
对于一个题,如果该题最后有人通过但这个选手没通过,则这个选手的自闭程度增加 20
对于一个题,如果至少 \lfloor n/2 \rfloor⌊n/2⌋ 个选手 AC 了这个题,但某个选手没通过,则该选手的自闭程度在规则 {4}4 的基础上再额外增加 {10}10
在某个题中,如果该选手连续 WA 了最多 {K}K 次(也是就该题的某 {K}K 次连续提交都是 WA),则该选手自闭程度增加 K^2K
2

在某个题中,如果该选手连续 WA 了最多 {K}K 次且最后没有 AC 这题,则该选手自闭程度再额外增加 K^2K
2

现在按时间顺序给出了一场比赛的提交记录,你需要求每个选手的自闭程度。
一些细节:在某道题上,AC 了之后再进行的提交也会被计算入规则 {6}6 中。
输入描述:
第一行三个整数 {n,m,W}n,m,W,表示选手数量,题目数量和提交记录数量
接下来 {W}W 行,每行三个整数 {x,y,c}x,y,c,描述一条提交记录:选手 {x}x 交了题目 {y}y,{c=0}c=0 表示 WA 了,{c=1}c=1 表示 AC 了。
1\leq n\leq 1001≤n≤100,1\leq m\leq 101≤m≤10,1\leq W\leq 50001≤W≤5000
输出描述:
输出 {n}n 行,第 {i}i 行一个整数表示第 {i}i 个选手的自闭程度。
示例1
输入
复制
4 3 13
1 1 1
1 2 1
1 3 1
2 1 0
2 1 0
2 1 1
2 2 0
3 1 0
3 1 0
3 1 0
3 2 1
3 2 0
3 2 0
输出
复制
0
56
72
998244353

我真的是傻了 一个简简单单模拟题 样例我到现在都解释不清楚,第二个自闭程度怎么就是56,怎么想也凑不出来啊,我自闭了
。。。

发布了197 篇原创文章 · 获赞 36 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43872728/article/details/104143915