zoukankan      html  css  js  c++  java
  • 20:话题焦点人物

    20:话题焦点人物

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    微博提供了一种便捷的交流平台。一条微博中,可以提及其它用户。例如Lee发出一条微博为:“期末考试顺利 @Kim @Neo”,则Lee提及了Kim和Neo两位用户。

    我们收集了N(1 < N < 10000)条微博,并已将其中的用户名提取出来,用小于等于100的正整数表示。

    通过分析这些数据,我们希望发现大家的话题焦点人物,即被提及最多的人(题目保证这样的人有且只有一个),并找出那些提及它的人。

    输入
    输入共两部分:
    第一部分是微博数量N,1 < N < 10000。
    第二部分是N条微博,每条微博占一行,表示为:
    发送者序号a,提及人数k(0 < = k < = 20),然后是k个被提及者序号b1,b2...bk;
    其中a和b1,b2...bk均为大于0小于等于100的整数。相邻两个整数之间用单个空格分隔。
    输出
    输出分两行:
    第一行是被提及最多的人的序号;
    第二行是提及它的人的序号,从小到大输出,相邻两个数之间用单个空格分隔。同一个序号只输出一次。
    样例输入
    5
    1 2 3 4
    1 0
    90 3 1 2 4
    4 2 3 2
    2 1 3
    样例输出
    3
    1 2 4
    来源
    医学部计算概论2011年期末考试(谢佳亮)
     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 struct node
     5 {
     6     int fsz;//发送者 
     7     int rs;//人数
     8     int tjz[80];//提及者 
     9     int tjnow;//已经提及的人数 
    10 }a[10001];
    11 int btj[1000001];
    12 int maxn=-1;//被提及最多的人的次数
    13 int bh;//被提及最多的人得编号 
    14 int zdbh;//最大编号 
    15 int bc[10001];
    16 int now=0;
    17 int main()
    18 {
    19     int n;
    20     cin>>n;
    21     for(int i=1;i<=n;i++)
    22     {
    23         cin>>a[i].fsz;
    24         a[i].tjnow=1;
    25         if(a[i].fsz>zdbh)
    26         zdbh=a[i].fsz;
    27         cin>>a[i].rs;
    28         for(int j=a[i].tjnow;j<a[i].rs+a[i].tjnow;j++)
    29         {
    30             cin>>a[i].tjz[j];
    31             btj[a[i].tjz[j]]++;
    32             if(btj[a[i].tjz[j]]>maxn)
    33             {
    34                 maxn=btj[a[i].tjz[j]];
    35                 bh=a[i].tjz[j];
    36             }
    37         }
    38         a[i].tjnow=a[i].rs+a[i].tjnow;
    39     }
    40     cout<<bh<<endl;
    41     for(int i=0;i<=9999;i++)
    42     {
    43         for(int j=1;j<=a[i].rs;j++)
    44         {
    45             if(a[i].tjz[j]==bh)
    46             {
    47                 bc[now]=a[i].fsz;
    48                 now++;
    49             }
    50         }
    51     }
    52     sort(bc+0,bc+now);
    53     for(int i=0;i<now;i++)
    54     {
    55         if(bc[i]==bc[i+1])
    56         continue;
    57         else cout<<bc[i]<<" ";
    58     }
    59     return 0;
  • 相关阅读:
    String和StringBuilder和StringBuffer
    多态
    组件
    反向代理
    基础知识
    reflection
    v-model 与 v-bind:model
    tomcat端口占用问题
    socket
    简要概括内存机制
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6567038.html
Copyright © 2011-2022 走看看