本文主要是介绍投票,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
★ 实验任务在遥远的火星上,生活着 2 * n 个快乐的火星人。 他们的名字可以用一个整数来表示,
范围是 0 到 2^30 - 1。他们希望知道谁是这个火星上最快乐的火星人。 所以他们决定进行
一次投票,每个火星人投出一张票,票上写着它认为的最快乐的火星人的名字。如果有一个
火星人被大于 n 个火星人投票,那么这个火星人被认为是最快乐的火星人。否则, 不存在最
快乐的火星人, 火星人们一样快乐。 你能找到这个火星人么?
★ 数据输入
输入第一行有一个正整数 n( 1 <= n <= 10^6)。
输入的第二行包含 2 * n 个整数 a0, a1, …, a2*n-1( 0 <= ai <= 2^30 - 1),元素
中间用一个空格隔开,表示 2 * n 个火星人的投票。
★ 数据输出
输出只有一行。 如果存在最快乐的火星人,输出一个整数表示最快乐火星人的名字否则输出-1
输入示例 输出示例
2 0
0 1 0 0 -1
2
1 0 0 1
#include<stdio.h>
int main()
{ int num=0,sign,n,result=-1,i; scanf("%d",&n); n*=2; for(i=0;i<n;i++) { scanf("%d",&sign); if(sign==result) num++; else { --num; if(num==-1) { result=sign; num=1; } else if(num==0) result=-1; } } printf("%d\n",result);
}
这篇关于投票的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!