zoukankan      html  css  js  c++  java
  • poj2092

    简单题,但题意不容易理解,是求出现频度第二多的数字。

    wa的原因是开始给vis数组初始话为0,而有些就该是0,却当成了没被赋值的用。

    View Code
    #include <iostream>
    #include
    <cstdio>
    #include
    <cstdlib>
    #include
    <cstring>
    #include
    <algorithm>
    using namespace std;

    #define maxn 10008

    struct XPlayer
    {
    int id, p;
    } xplayer[maxn
    * 500];

    int m, n;
    int vis[maxn];
    int pcount;

    void input()
    {
    pcount
    = 0;
    for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
    {
    int a;
    scanf(
    "%d", &a);
    if (vis[a] != -1)
    xplayer[vis[a]].p
    ++;
    else
    {
    xplayer[pcount].id
    = a;
    xplayer[pcount].p
    = 1;
    vis[a]
    = pcount;
    pcount
    ++;
    }
    }
    }

    bool operator <(const XPlayer &a, const XPlayer &b)
    {
    if (a.p == b.p)
    return a.id < b.id;
    return a.p > b.p;
    }

    int main()
    {
    //freopen("t.txt", "r", stdin);
    while (scanf("%d%d", &n, &m), m | n)
    {
    memset(vis,
    -1, sizeof(vis));
    input();
    sort(xplayer, xplayer
    + pcount);
    int i = 1;
    int temp = xplayer[1].p;
    while (xplayer[i].p == temp && i < pcount)
    {
    printf(
    "%d ", xplayer[i].id);
    i
    ++;
    }
    printf(
    "\n");
    }
    return 0;
    }

  • 相关阅读:
    Server Profiler
    Unit Test with VS.NET
    js解析json字符
    多维数组
    $routeProvider与$stateProvider区别
    post 与get
    gulp配置
    homebrew常用指令
    less.js
    过滤器
  • 原文地址:https://www.cnblogs.com/rainydays/p/2074077.html
Copyright © 2011-2022 走看看