#205-[STL set] 灰色头像
Description
引子:
這一些不要管,讀了沒(méi)有用的
背景:
WJMZBMR 喜歡上 QQ。。但是很多人的頭像已經(jīng)變成灰色了。這讓他壓力很大。而且 WJMZBMR 的好友太多了,大量的灰色頭像讓他無(wú)法準(zhǔn)確的找到他想找的好友。。
今天 WJMZBMR 決定清理一下他的 QQ,找出那些不會(huì)在跳動(dòng)的頭像并且把它們踢掉。為此他翻出了最近一個(gè)月的聊天記錄。
如果一個(gè)頭像在在最近一個(gè)月中與 WJMZBMR 聊天次數(shù)小于等于 2 次, WJMZBMR 就會(huì)認(rèn)為這是不會(huì)再跳動(dòng)的灰色頭像然后把他刪掉。
那么請(qǐng)你為 WJMZBMR 寫個(gè)程序完成這件事情,并輸出剩下的頭像。
?
定義:
頭像其實(shí)就是 ID,是一個(gè)長(zhǎng)度小于等于 30 的,由小寫或者大寫英文字母組成的字符串。
?
嚴(yán)格的數(shù)學(xué)定義:
給出一些字符串,輸出其中出現(xiàn)次數(shù)大于等于 3 次的。
關(guān)于輸出的順序,出現(xiàn)次數(shù)多在前,如果次數(shù)一樣多就按字典序,相同的 ID 只輸出一次。
Input
第一行 N 表示聊天記錄的長(zhǎng)度。
接下來(lái) N 行每行一個(gè)字符串表示與 WJMZBMR 聊天的 ID。
Output
第一行表示要輸出的頭像的個(gè)數(shù) M。
之后M行每行一個(gè)字符串表示輸出的 ID(請(qǐng)按給定順序輸出,兩個(gè)相同的 ID 只輸出一次)。
-
Sample Input
-
Sample Output
HINT
20%的數(shù)據(jù)?N<=1000
100%的數(shù)據(jù) N<=100000
Uploaded By MCHacker
?
直接STLset爆枚......
注意最后的排序順序.
#include <iostream> #include <cstdio> #include <string> #include <queue> #include <set> #include <algorithm>using namespace std; const int MAXN = 100010;multiset<string> st; priority_queue<string> q; string s[MAXN], r[MAXN];bool comp(string a, string b) { // 最后的排序int aa = st.count(a), bb = st.count(b);if (aa!=bb) return aa>bb;return a<b; } int main() {int n, id = 0; scanf("%d", &n);for (int i=1; i<=n; ++i) {string str; cin >> str;if (!st.count(str)) s[++id] = str;st.insert(str);}int res = 0;for (int i=1; i<=id; ++i) { // 枚舉每個(gè)字符串if (st.count(s[i])>2) { // 大于等于3的,可以有r[++res] = s[i]; // 存入結(jié)果數(shù)組}}sort(r+1, r+res+1, comp); // 排序printf("%d", res);for (int i=1; i<=res; ++i) {printf("\n"); cout << r[i];}return 0; }?
總結(jié)
以上是生活随笔為你收集整理的#205-[STL set] 灰色头像的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MFC三张图按钮三种状态
- 下一篇: 前端笔记—从入门到坟墓[CSS][滑动门