#198. 评选最佳品牌
评选最佳品牌
题目描述
个评委投票,在 个商品中评选一个最佳品牌。评选采用多轮淘汰制,即:每轮投票,淘汰掉得票最少的候选品牌(得票并列最少的品牌一起淘汰)。如此一轮轮淘汰下去,如果最后只剩下一个品牌当选,即告评选成功。但如果在某轮投票中,当时未被淘汰的所有候选品牌(大于等于两个品牌)都并列得票最少,即告评选失败。 如果评选成功就输出当选品牌号。否则输出最后一轮评选时唯一选票数的相反数。 在评选流程中,每个评委的态度都可用一个序列来表示;例如当 时,某评委的 评选态度序列为:、、、、,则表示该评委:优先投 号,当 号被淘汰时投 号,当 和 都被淘汰时投 ,当 、、 都被淘汰时投 ,仅剩 号时才投 号品牌的票。选票的序列中可以表示弃权,用 来表示,例如当 时,某评委的评选态度序列为:、、,则表示该评委:优先投 号,当 号被淘汰时投 号,其它情况下不投任何品牌的票。 编程实现: 请你编一个程序,模拟各轮投票的过程,得到评选结果。
输入格式
第一行两个整数和,用空格隔开。表示参加评选的品牌数和 表示参加投票的评委数; 接下来的 行:每行都是长度不超 的数字字符串,每个字符串表示一个评委的评选态度。
输出格式
一个整数,表示最后评选结果。
3 4
123
213
132
10
1
3 4
321
213
231
312
-2
数据1说明
第一行 代表 个品牌, 个评委 第一轮投票, 个评委优先选择 号品牌, 个评委选择 号品牌,品牌 得票最少, 淘汰掉; 第二轮投票, 个评委优先选择 号品牌, 个评委选择 号品牌,品牌 得票最少, 淘汰掉。 只剩一个1号品牌胜出。
数据2说明
第一行 代表 个品牌, 个评委 第一轮投票, 个评委选择 号品牌, 个评委选择 号品牌, 号得票最少,淘汰掉; 第二轮投票, 个评委选择 号品牌, 个评委选择 号品牌,由于只剩下两个品牌, 且并列最少,都是 票,代表评选失败,需要输出最后一轮票数 的相反数;最终结果 。
数据规模与约定
对于 的数据,,。