链接:



Grandpa is Famous
Time Limit: 2000MS   Memory Limit: 30000K
Total Submissions: 7210   Accepted: 3650

Description

The whole family was excited by the news. Everyone knew grandpa had been an extremely good bridge player for decades, but when it was announced he would be in the Guinness Book of World Records as the most successful bridge player ever, whow, that was astonishing! 

The International Bridge Association (IBA) has maintained, for several years, a weekly ranking of the best players in the world. Considering that each appearance in a weekly ranking constitutes a point for the player, grandpa was nominated the best player ever
because he got the highest number of points. 

Having many friends who were also competing against him, grandpa is extremely curious to know which player(s) took the second place. Since the IBA rankings are now available in the internet he turned to you for help. He needs a program which, when given a list
of weekly rankings, finds out which player(s) got the second place according to the number of points.

Input

The input contains several test cases. Players are identified by integers from 1 to 10000. The first line of a test case contains two integers N and M indicating respectively the number of rankings available (2 <= N <= 500) and the number of players in each
ranking (2 <= M <= 500). Each of the next N lines contains the description of one weekly ranking. Each description is composed by a sequence of M integers, separated by a blank space, identifying the players who figured in that weekly ranking. You can assume
that:

  • in each test case there is exactly one best player and at least one second best player,
  • each weekly ranking consists of M distinct player identifiers.

The end of input is indicated by N = M = 0.

Output

For each test case in the input your program must produce one line of output, containing the identification number of the player who is second best in number of appearances in the rankings. If there is a tie for second best, print the identification numbers
of all second best players in increasing order. Each identification number produced must be followed by a blank space.

Sample Input

4 5
20 33 25 32 99
32 86 99 25 10
20 99 10 33 86
19 33 74 99 32
3 6
2 34 67 36 79 93
100 38 21 76 91 85
32 23 85 31 88 1
0 0

Sample Output

32 33
1 2 21 23 31 32 34 36 38 67 76 79 88 91 93 100

Source

Code:


/**************************************************************
D Accepted 284 KB 204 ms C++ 1604 B
题意:第一行给你 N 和 M
剩下的 N 行 M 列, 给你 N*M 个数
找出所有出现次数第二多的数, 并且按照从小到大顺序输出。
**************************************************************/
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn = 10000+10; int a[maxn];
struct Node{
int num;
int index;
}node[maxn]; bool cmp(Node a, Node b)
{
if(a.num == b.num) return a.index < b.index;
else return a.num > b.num;
} int main()
{
int n,m;
while(scanf("%d%d", &n,&m) != 0)
{
if(n == 0 && m == 0) break;
int x;
int Max = 0; for(int i = 0; i < maxn; i++)
{
a[i] = 0;
node[i].num = 0;
node[i].index = 0;
} int N = n*m;
for(int i = 0; i < N; i++)
{
scanf("%d", &x);
a[x]++;
Max = max(Max, x); }
N = Max+1;
//printf("Max = %d\n", Max);
int j = 0;
for(int i = 1; i < N; i++)
{
if(a[i] != 0)
{
node[j].num = a[i];
node[j].index = i;
j++;
}
}
sort(node,node+j,cmp);
N = j; int s = node[0].num; //printf("s1 = %d\n", s);
int index = 0;
for(int i = 0; i < N; i++)
{
if(node[i].num < s)
{
s = node[i].num;
index = i;
break;
}
}
//printf("s2 = %d\n", s);
for(int i = index; i < N; i++)
{
if(node[i].num == s)
{
printf("%d ", node[i].index);
}
else if(node[i].num > s) break;
}
printf("\n");
}
return 0;
}











POJ 2092 Grandpa is Famous【水---找出现第二多的数】的更多相关文章

  1. POJ 2092 Grandpa is Famous

    Grandpa is Famous Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 7153   Accepted: 3624 ...

  2. Poj 2092 Grandpa is Famous(基数排序)

    题目链接:http://poj.org/problem?id=2092 思路分析:先统计数据,在根据Count降序排序,Count相等时按照Num升序排序:再输出Count第二大的所有Num: 代码如 ...

  3. (使用STL自带的排序功能进行排序7.3.2)POJ 2092 Grandpa is Famous(结构体排序)

    /* * POJ_2092.cpp * * Created on: 2013年11月1日 * Author: Administrator */ #include <iostream> #i ...

  4. poj 3080 Blue Jeans(水题 暴搜)

    题目:http://poj.org/problem?id=3080 水题,暴搜 #include <iostream> #include<cstdio> #include< ...

  5. Leetcode 860. 柠檬水找零

    860. 柠檬水找零  显示英文描述 我的提交返回竞赛   用户通过次数187 用户尝试次数211 通过次数195 提交次数437 题目难度Easy 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾 ...

  6. LeetCode:柠檬水找零【860】

    LeetCode:柠檬水找零[860] 题目描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向 ...

  7. 【LeetCode】860. 柠檬水找零

    860. 柠檬水找零 知识点:贪心 题目描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 ...

  8. 找第k大的数

    (找第k大的数) 给定一个长度为1,000,000的无序正整数序列,以及另一个数n(1<=n<=1000000),接下来以类似快速排序的方法找到序列中第n大的数(关于第n大的数:例如序列{ ...

  9. c# 各种排序算法+找第二大的数+句子单词反转

    冒泡排序 // 冒泡排序 bubble sort public static int[] BubbleSort(int []array) { bool isContinue = true; ; i & ...

随机推荐

  1. IE常见BUG总结(持续更新)

    ie6~7下display:inline-block无效 解决方案:需要hack触发hasLayout 1 //IE6.7中内联元素(如span)触发layout属性后, 它的行为和标准中的 inli ...

  2. 在自己的网站上使用RSS订阅功能

    要增加RSS订阅功能其实很简单 就是填写一个规定好的xml文档,按照要求填好就可以实现 具体的步骤如下: 这是在网上查到的RSSxml文档 <?xml version="1.0&quo ...

  3. 2017.8.5 Linux达人养成计划 I (上)

    参考来自:http://www.imooc.com/learn/175 1 linux简介 1.1 linux简介 linux分为了内核版本和发行版本. 二者的区别:内核版本是由官方提供,而不同的发行 ...

  4. [WCF菜鸟]什么是WCF

    一.概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分.由 .NE ...

  5. 载入本地Html文件

    NSString * resousePath = [[NSBundle mainBundle]resourcePath];         NSString * filePath = [resouse ...

  6. python 类特殊成员

    class Foo: def __init__(self,age): self.age=age print('init') def __call__(self): print('call') def ...

  7. nonlocal(非局部变量)---python 3.x 新增关健词

    Python里只有2种作用域:全局作用域和局部作用域.全局作用域是指当前代码所在模块的作用域,局部作用域是指当前函数或方法所在的作用域.其实准确来说,Python 3.x引入了nonlocal关键字, ...

  8. 【Android开发-6】了解内情,我们须要一些调试和測试手段

    前言:人生不可能十全十美,总会有些遗憾存在,经历过遗憾,我们才懂的什么是生活. 程序也一样.追求完美,就必定会有经历bug存在的时候. 经历过不断的bug磨练.我们技术才会不断的成长.对于调试bug, ...

  9. 浅谈JavaScript变量声明提升

    前段时间阿里实习生内推,一面就被刷了,也是郁闷.今天系统给发通知,大致意思就是内推环节不足以了解彼此,还可以参加笔试,于是赶紧再投一次.官网流程显示笔试时间3月31日,时间快到了,开始刷题.网上搜了一 ...

  10. Lua学习十----------Lua数组

    © 版权声明:本文为博主原创文章,转载请注明出处 1.LUA数组 - 一维数组 - 多维数组 2.array.lua -- 一维数组 print("一维数组") array1 = ...