1. 程式人生 > >L2-019. 悄悄關注(map+set)

L2-019. 悄悄關注(map+set)

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。

輸入格式:

輸入首先在第一行給出某使用者的關注列表,格式如下:

人數N 使用者1 使用者2 …… 使用者N

其中N是不超過5000的正整數,每個“使用者i”(i=1, ..., N)是被其關注的使用者的ID,是長度為4位的由數字和英文字母組成的字串,各項間以空格分隔。

之後給出該使用者點讚的資訊:首先給出一個不超過10000的正整數M,隨後M行,每行給出一個被其點讚的使用者ID和對該使用者的點贊次數(不超過1000),以空格分隔。注意:使用者ID是一個使用者的唯一身份標識。題目保證在關注列表中沒有重複使用者,在點贊資訊中也沒有重複使用者。

輸出格式:

我們認為被該使用者點贊次數大於其點贊平均數、且不在其關注列表上的人,很可能是其悄悄關注的人。根據這個假設,請你按使用者ID字母序的升序輸出可能是其悄悄關注的人,每行1個ID。如果其實並沒有這樣的人,則輸出“Bing Mei You”。

輸入樣例1:
10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao
8
Magi 50
Pota 30
LLao 3
Ammy 48
Dave 15
GAO3 31
Zoro 1
Cath 60
輸出樣例1:
Ammy
Cath
Pota
輸入樣例2:
11 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao Pota
7
Magi 50
Pota 30
LLao 48
Ammy 3
Dave 15
GAO3 31
Zoro 29
輸出樣例2:
Bing Mei You

題意:找出人不在關注列表中,並且點贊數大於點贊平均值。

思路:一個map存關注列表,一個map存點贊列表。將兩個map中,沒有共同的人名且點贊數大於平均值的人記錄到set中。最後輸出。

總結:map和set的迭代器不熟練,輸出時,適用C++的輸出,暫時沒搞懂c語言的輸出。

程式碼如下:

#include<cstdio>
#include<map>
#include<set>
#include<iostream>
using namespace std;
set<string> w;
map<string,int> p,q;

int main(){
	int n;
	string s[10005];
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>s[i];
		p[s[i]]=1;
	}
	int m,t,sum=0;
	cin>>m;
	for(int i=0;i<m;i++){
		cin>>s[i]>>t;
		q[s[i]]=t;
		sum+=t;
	}
	sum/=m;
	for(int i=0;i<m;i++)
		if(p[s[i]]==0&&q[s[i]]>sum)
			w.insert(s[i]);
	if(w.empty())
		cout<<"Bing Mei You"<<endl;
	else{
		for(set<string>::iterator it=w.begin();it!=w.end();it++)
			cout<<*it<<endl;
	}
	return 0;
} 

相關推薦

L2-019. 悄悄關注(map+set)

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。輸入格式:輸入首先在第一行給出某使用者的關注

L2-019] 悄悄關注(map)

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。輸入格式:輸入首先在第一行給出某使用者的關注列表,格式如下:人數N 使用者1

L2-019. 悄悄關注map

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。輸入格式:輸入首先在第一行給出某使用者的關注列表,格式如下:人數N 使用者1

天梯賽習題 L2-019. 悄悄關注

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。輸入格式:輸入首先在第一行給出某使用者的關注列表,格式如下:人數N 使用者1

2017 C4天梯 L2-019. 悄悄關注

題目描述 新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。 輸入格式:

L2-019. 悄悄關注(2017初賽)

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。 輸入格式: 輸入首先在第一行給出某使用者的關注列表,格式如下: 人數N 使

L2-019. 悄悄關注 -天梯賽題解

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。 輸入格式: 輸入首先在第一行給出某使用者的關注列表,格式如下: 人數

pat 天梯團體賽練習-l2-019 悄悄關注

這道題本身沒有什麼難度,主要是熟悉下stl的用法。原來map #include <iostream> #include <algorithm> #include <s

PAT-練習集-L2-019. 悄悄關注

//傳送門: https://www.patest.cn/contests/gplt/L2-019 #include <queue> #include <functional>

L2-019. 悄悄關注

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。輸入格式:輸入首先在第一行給出某使用者的關注

L2-019 悄悄關注 (25 分)

L2-019 悄悄關注 (25 分) 新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。

L2-019 悄悄關注(25 分)

新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。輸入格式:輸入首先在第一行給出某使用者的關注列表,格式如下:人數N 使用者1

L2-019. 悄悄關註

std mes 根據 hellip 文字 col OS count 2-0 新浪微博上有個“悄悄關註”,一個用戶悄悄關註的人,不出現在這個用戶的關註列表上,但系統會推送其悄悄關註的人發表的微博給該用戶。現在我們來做一回網絡偵探,根據某人的關註列表和其

PAT L2-019 悄悄關註

blank log 假設 不出 sco mes 的人 用戶id http https://pintia.cn/problem-sets/994805046380707840/problems/994805059731177472 新浪微博上有個“悄悄關註”,一個用戶悄悄

CCCC L2-3 悄悄關注

題面: 新浪微博上有個“悄悄關注”,一個使用者悄悄關注的人,不出現在這個使用者的關注列表上,但系統會推送其悄悄關注的人發表的微博給該使用者。現在我們來做一回網路偵探,根據某人的關注列表和其對其他使用者的點贊情況,扒出有可能被其悄悄關注的人。 輸入格式: 輸

map, set, vector erase的正確使用方法

位置 list 下一個 div != int 使用 ras for map, set, vector erase的正確使用方法 在C++中, 如果我們使用STL,那 如何使用 erase() 來刪除 map, set, vector 的所有數據?下面將給出正確的使用方

spring list map set

cto tlist some mem try call java -a OS 1 list <!-- result in a setSomeList(java.util.List) call --> <property name="someList">

JAVA中List,Map,Set接口的區別

cto ray 自身 dha 一個 vector key值 繼承 col 從三點來分析它們之間的不同: 1.繼承的接口不同: List,Set接口都是繼承於Collection接口的,而Map接口不是,它是一個頂層接口。 2.自身特點: List:用來處理序列的。對於放於的

java集合List,Map,Set,Queue使用

add 查找 lec testlink next 訪問 put 獲取值 last Collection.一個獨立元素的序列,這些元素都服從一條或多條規則。List必須按照插入的順序保存元素,而Set不能有重復元素。 Map.一組成對的鍵值對對象,允許使用鍵來查找值。 有

c/c++ 標準庫 map set 大鍋燉

space 無序集合 string類 str using while key namespace 序列 標準庫 map set 大鍋燉 一,關聯容器有哪些 按關鍵字有序保存元素 map 保存key和value set 只保存key mulutimap