jzoj 3888. 【NOIP2014模拟10.25B组】正确答案 (Standard IO)

这篇博客介绍了如何解决一道编程竞赛题目,该题目要求根据参赛者答案和得分情况还原判断题的标准答案。博主通过分析给出的数据约束和样例输入,提出了三种情况的解决方案,包括利用字符串排序和统计出现次数来确定字典序最小的正确答案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description
小H与小Y刚刚参加完UOIP外卡组的初赛,就迫不及待的跑出考场对答案。
“吔,我的答案和你都不一样!”,小Y说道,”我们去找神犇们问答案吧”。
外卡组试卷中共有m道判断题,小H与小Y一共从其他n个神犇那问了答案。之后又从小G那里得知,这n个神犇中有p个考了满分,q个考了零分,其他神犇不为满分或零分。这可让小Y与小H犯了难。你能帮助他们还原出标准答案吗?如有多解则输出字典序最小的那个。无解输出-1。

Input
第一行四个整数n, m, p, q,意义如上描述。
接下来n行,每一行m个字符’N’或’Y’,表示这题这个神犇的答案。

Output
仅一行,一个长度为m的字符串或是-1。

Sample Input
2 2 2 0
YY
YY

Sample Output
YY

Data Constraint
30% : n <= 100.
60% : n <= 5000 , m <= 100.
100% : 1 <= n <= 30000 , 1 <= m <= 500. 0 <= p , q 且 p + q <= n.

//written by zzy

题目大意:

给你 n n n 个人的答案,其中有 p p p 个是全对, q q q 个是全错,求字典序最小的可能的正确答案。

题解:

将字符串从小到大排序,统计每个字符串的出现次数,(字符串哈希或 map)
要分三种情况讨论
p , q > 0 p,q>0 p,q>0 时,找到第一个出现次数等于全对答案数且反串出现次数等于全错答案数的字符串即为答案。
q > p = 0 q>p=0 q>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值