谁是组长
2016-04-08 21:46
246 查看
Description
SSL中学信息组需要选一个组长。信息组一共有n个人,分别用1到n编号,其中m个人参与了投票。得票数过半(票数大于m div
2)的人将被选为组长。
输入数据将告知这m个人分别将票投给了谁,请统计出谁将担任SSL中学信息组的组长。
Input
第一行两个数n和m。
第二行有m个数,这些数都是不超过n的正整数,表明这m个人的选择。
Output
输出将被选为组长的人。如果没有人的票数过半,请输出-1。
Sample Input
Sample Output
Hint
数据规模
1<=n<=maxlongint
1<=m<=10000
解题报告:先读入数据,用快排进行排序,然后进行统计,并用一个布尔型变量判断是否有人的票数过半,若有则输出是第几个人,若无则输出-1。
程序:
var
a:array[0..10000] of longint;
m,n,i,j:longint;
f:boolean;
procedure qsort(l,r:longint);
var
i,j,k:longint;
begin
if l>=r then exit;
i:=l;
j:=r;
k:=a[(i+j) div 2];
repeat
while
a[i]
while
a[j]>k do dec(j);
if
i<=j then
begin
a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
inc(i);dec(j);
end;
until i>j;
qsort(i,r);
qsort(l,j);
end;
begin
readln(m,n);
for i:=1 to n do
read(a[i]);
qsort(1,n);
i:=1;
f:=true;
while i<=n do
begin
j:=i;
while
(a[j+1]=a[i])and(j
if
j-i+1>n div 2 then
begin
write(a[i],' ');
f:=false;
end;
i:=j+1;
end;
if f then writeln(-1);
end.
版权属于: Chris
原文地址: http://blog.sina.com.cn/s/blog_83ac6af80102v11l.html
转载时必须以链接形式注明原始出处及本声明。
SSL中学信息组需要选一个组长。信息组一共有n个人,分别用1到n编号,其中m个人参与了投票。得票数过半(票数大于m div
2)的人将被选为组长。
输入数据将告知这m个人分别将票投给了谁,请统计出谁将担任SSL中学信息组的组长。
Input
第一行两个数n和m。
第二行有m个数,这些数都是不超过n的正整数,表明这m个人的选择。
Output
输出将被选为组长的人。如果没有人的票数过半,请输出-1。
Sample Input
7 4
7 7 2 7
Sample Output
7
Hint
数据规模
1<=n<=maxlongint
1<=m<=10000
解题报告:先读入数据,用快排进行排序,然后进行统计,并用一个布尔型变量判断是否有人的票数过半,若有则输出是第几个人,若无则输出-1。
程序:
var
a:array[0..10000] of longint;
m,n,i,j:longint;
f:boolean;
procedure qsort(l,r:longint);
var
i,j,k:longint;
begin
if l>=r then exit;
i:=l;
j:=r;
k:=a[(i+j) div 2];
repeat
while
a[i]
while
a[j]>k do dec(j);
if
i<=j then
begin
a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
inc(i);dec(j);
end;
until i>j;
qsort(i,r);
qsort(l,j);
end;
begin
readln(m,n);
for i:=1 to n do
read(a[i]);
qsort(1,n);
i:=1;
f:=true;
while i<=n do
begin
j:=i;
while
(a[j+1]=a[i])and(j
if
j-i+1>n div 2 then
begin
write(a[i],' ');
f:=false;
end;
i:=j+1;
end;
if f then writeln(-1);
end.
版权属于: Chris
原文地址: http://blog.sina.com.cn/s/blog_83ac6af80102v11l.html
转载时必须以链接形式注明原始出处及本声明。
相关文章推荐
- 营养膳食(贪心算法)
- 热浪(图论算法)
- 信使(图论算法)
- 2000年分区联赛普级组之一&nbsp;计…
- 最小花费(图论算法)
- 最短路径问题Dijkstra(图论算法)
- 珍珠(图论算法)
- 2002年分区联赛普级组之三&nbsp;产生数
- USACO&nbsp;3.3&nbsp;骑马修栅栏
- USACO&nbsp;2.4&nbsp;牛的旅行
- 最短路径问题Floyed-Warshall(图…
- 汉诺塔系列2
- cenos安装jdk
- 两个树结点的公共祖先
- Boostrap响应式与非响应式
- HttpClient进行http协议访问
- 相位是频率的积分
- ubuntu中latex解决“fontspec error: "font-not-found"”
- 开篇--Java Web基础知识
- 求连通分量-方法4(图论算法)