灰色头像

Posted 鄉勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了灰色头像相关的知识,希望对你有一定的参考价值。

引子

你灰色头像不会再跳动 哪怕是一句简单的问候 心贴心的交流一页页翻阅多难过 是什么 坠落 升空 又想起你曾说的陪我到最后 暖色的梦变冰凉的枷锁 如果时光倒流我们又能抓得住什么。

背景

WJMZBMR喜欢上QQ。。但是很多人的头像已经变成灰色了。这让他压力很大。而且WJMZBMR的好友太多了,大量的灰色头像让他无法准确的找到他想找的好友。。 今天WJMZBMR决定清理一下他的QQ,找出那些不会在跳动的头像并且把它们踢掉。为此他翻出了最近一个月的聊天记录。 如果一个头像在在最近一个月中与WJMZBMR聊天次数小于等于2次,WJMZBMR就会认为这是不会再跳动的灰色头像然后把他删掉。 那么请你为WJMZBMR写个程序完成这件事情,并输出剩下的头像。

定义

头像其实就是ID,是一个长度小于等于30的,由小写或者大写英文字母组成的字符串。

严格的数学定义

给出一些字符串,输出其中出现次数大于等于3次的。 关于输出的顺序,出现次数多在前,如果次数一样多就按字典序,相同的ID只输出一次。

输入格式

第一行N表示聊天记录的长度 接下来N行每行一个字符串表示与WJMZBMR聊天的ID。

输出格式

第一行表示要输出的头像的个数M 之后M行每行一个字符串表示输出的ID(请按给定顺序输出,两个相同的ID只输出一次)

样例输入

6

Gx

tracyhenry

seventhplus

Gx

seventhplus

Gx

样例输出

1

Gx

 

数据范围

20%的数据N<=1000

100%的数据 N<=100000

思路

STL大法好\(^o^)/~

string+map水过;

代码实现

 1 #include<map>
 2 #include<cstdio>
 3 #include<iostream>
 4 #include<algorithm>
 5 using namespace std;
 6 const int maxn=1e5+10;
 7 int n,m;
 8 string ans[maxn];
 9 map<string,int>key;
10 string ch;
11 bool comp(string x,string y){return key[x]>key[y]||(key[x]==key[y]&&x<y);}
12 int main(){
13     freopen("gray.in","r",stdin);
14     freopen("gray.out","w",stdout);
15     scanf("%d",&n);
16     for(int i=1;i<=n;i++){
17         cin>>ch;
18         key[ch]++;
19         if(key[ch]==3) ans[m++]=ch;
20     }
21     sort(ans,ans+m,comp);
22     printf("%d\n",m);
23     for(int i=0;i<m;i++) cout<<ans[i]<<endl;
24     return 0;
25 }

 

以上是关于灰色头像的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Word 文档中显示代码片段,因为它在 *** 中显示(滚动条和灰色背景)

谷歌地图在Android的标签片段上显示为灰色

利用mask-image蒙层编写异形头像

谷歌地图在安卓设备上显示为灰色

如何删除画布周围的灰色边框

软件工程迭代开发第三篇