评选最佳品牌【蓝桥杯】
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目描述
n个评委投票,在m个商品中评选一个最佳品牌。
评选采用多轮淘汰制,即:每轮投票,淘汰掉得票最少的候选品牌(得票并列最少的品牌一起淘汰)。
如此一轮轮淘汰下去,如果最后只剩下一个品牌当选,即告评选成功。
但如果在某轮投票中,当时未被淘汰的所有候选品牌(大于等于两个品牌)都并列得票最少,即告评选失败。
如果评选成功就输出当选品牌号。否则输出最后一轮评选时唯一选票数的相反数。
在评选流程中,每个评委的态度都可以用一个序列来表示:例如当m = 5时,某评委的评选态度序列为:3,5,1,2,4。则表示该评委:优先投3号,当3号被淘汰时投5号,当3和5都被淘汰时投1,当3,5,1都被淘汰时投2,仅剩4号时才投4号品牌的票。
选票的序列中可以表示弃权,用0来表示,例如当m = 5时,某评委的评选态度序列为:3,5,0。则表示该评委:优先投3号,当3号被淘汰时投5号,其它情况下不投任何品牌的票。
请你编一个程序,模拟各轮投票的过程,得到评选结果。
输入格式
第一行:m(0 < m < 10) 和n(1 < n < 1000) ,分别表示参加评选的品牌数和参加投票的评委数,之间以空格分隔。
接下来的n行:每行都是长度不超过m的数字字符串,每个字符串表示一个评委的评选态度。
输出格式
输出评选结果。
样例
3 4
123
213
132
10
1
3 4
321
213
231
312
-2
提示
品牌数不一定连续。
第十届蓝桥杯大赛青少年省赛C++组试题真题(2019年)
- Status
- Done
- Rule
- OI
- Problem
- 5
- Start at
- 2024-3-13 14:00
- End at
- 2024-3-13 16:00
- Duration
- 4 hour(s)
- Host
- Partic.
- 6