L1-034 點贊 (20 分)
微博上有個“點贊”功能,你可以為你喜歡的博文點個贊表示支持。每篇博文都有一些刻畫其特性的標簽,而你點贊的博文的類型,也間接刻畫了你的特性。本題就要求你寫個程序,通過統計一個人點贊的紀錄,分析這個人的特性。
輸入格式:
輸入在第一行給出一個正整數N(≤1000),是該用戶點贊的博文數量。隨后N行,每行給出一篇被其點贊的博文的特性描述,格式為“K F
?1
?? ?F
?K
?? ”,其中1≤K≤10,F
?i
?? (i=1,?,K)是特性標簽的編號,我們將所有特性標簽從1到1000編號。數字間以空格分隔。
輸出格式:
統計所有被點贊的博文中最常出現的那個特性標簽,在一行中輸出它的編號和出現次數,數字間隔1個空格。如果有并列,則輸出編號最大的那個。
輸入樣例:
4
3 889 233 2
5 100 3 233 2 73
4 3 73 889 2
2 233 123
輸出樣例:
233 3
#include<stdio.h>
#define N 1001
int main()
{ int n; //點贊數量int i,j; //用于循環和數組下標int k; //表示要幾個特性標簽int app[N]={0}; //存儲標簽編號int id; //id編號int index1=0; //標記最多出現次數int index2=0; //標記最多出現的這個數scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&k);for(j=0;j<k;j++){scanf("%d",&id);app[id]++; //這里就相當于a[3]++一個道理,也就是每輸入進來一個值,//對應那個坐標就自增1}}for(i=0;i<N;i++) //根據for循環,從最小的編號開始進行查驗{if(app[i]>=index1) //當a[i]里面保存的值大于之前標記的最大次數時,{ //那么index1就應該要標記住新出現的次數index1=app[i]; //因為循環是從小到大進行,所以若后面有正好相等并且IDindex2=i; //編號還比前面大的情況下,也會執行if語句} //這樣就避免了同等次數下,比較編號大小的問題^_^}printf("%d %d\n",index2,index1);return 0;
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态