麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

1034. Head of a Gang (30)

2019-11-14 10:01:34
字體:
來源:轉載
供稿:網友

首先并查集模版要先寫上,hash肯定要用

設置times數組記錄每個人的通話總時長,并且把所有人合并集合

設置一個長度為N結構體,集合父親對應位置存儲此集合的一些信息,比如集合中所有人的通話總時長,通話最長的人,成員數

遍歷所有的人,把每個集合的信息存入結構體對應項

為了方便下次找到所有集合的父親,可以開一個集合(set)存儲遍歷出現的所有父親

遍歷所有父親,篩選所有符合條件的集合,保存每個集合中最大的人和成員數;

輸出

#include<iostream>#include<algorithm>#include<vector>#include<map> #include<string>#include<set>using namespace std;const int N = 26*26*26 + 1;int fa[N];int times[N] = {0};set<int> all_fa;struct headset{	int name;	int sumt;	int maxt;	int memb;}allset[N];struct heads{	int name;	int memb;};vector<heads> gangs;bool comp(heads a, heads b){	if(a.name < b.name) return true;	else return false;}int name2n(string s){	return ( s[0] - 'A' ) * 26 * 26 + ( s[1] - 'A' ) * 26 + ( s[2] - 'A' );}void initfa(){	for(int i = 0; i < N; i++){		fa[i] = i;	} } int findfather(int x){	if(fa[x] == x) return x;	else{		int F = findfather(fa[x]);		fa[x] = F;		return F;	}}void Union(int a, int b){	int faA = findfather(a);	int faB = findfather(b);	if(faA != faB){		fa[faA] = faB;	}}int main(){	initfa();	int n, k;	cin>>n>>k;	for(int i = 0; i < n; i++){		string s1, s2;		int tempt;		cin>>s1>>s2>>tempt;		int a1 = name2n(s1);		int a2 = name2n(s2);		times[a1] += tempt;		times[a2] += tempt;		Union(a1,a2);//		all_names.insert(a1);//		all_names.insert(a2);	}//	for(set<int>::iterator it = all_names.begin(); it != all_names.end(); it++){//		int tempfa = findfather(*it);//		sumtimes[tempfa] += times[*it];//	}    for(int i = 0; i <= N; i++){    	if(times[i] != 0){    		int tempfa = findfather(i);//    		cout<<tempfa<<endl;    		all_fa.insert(tempfa);    		allset[tempfa].memb++;    		allset[tempfa].sumt += times[i];    		if(allset[tempfa].maxt < times[i]){    			allset[tempfa].maxt = times[i];    			allset[tempfa].name = i;			}		}	}	for(set<int>::iterator it = all_fa.begin(); it != all_fa.end(); it++){//		cout<<*it<<" "<<allset[*it].sumt<<" "<<allset[*it].memb<<" "<<allset[*it].name<<" "<<allset[*it].maxt<<endl;		if(allset[*it].sumt > 2 * k && allset[*it].memb > 2){			heads a;			a.name = allset[*it].name;			a.memb = allset[*it].memb;			gangs.push_back(a);		}	}	sort(gangs.begin(),gangs.end(),comp);	cout<<gangs.size()<<endl;	for(int i = 0; i < gangs.size(); i++){		int tname = gangs[i].name;		PRintf("%c%c%c",tname/26/26 + 'A',tname/26%26 + 'A',tname%26 + 'A');		printf(" %d/n",gangs[i].memb);	}	return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品国产99国产精品澳门 | 黄色一级片在线观看 | 国产在线欧美日韩 | 久久精品视频2 | 九九热在线视频免费观看 | 伦理三区| 久久凹凸 | av电影在线免费观看 | 久久精品亚洲一区 | 日本欧美一区二区三区在线观看 | 国产羞羞视频在线观看免费应用 | 久久网国产精品 | 一区二区三区日韩 | 欧美a在线| 亚洲国产精品一区二区三区 | 成人性视频在线 | 色玖玖综合 | 成人免费一区二区 | 国产免费一区二区三区视频 | 蜜桃免费在线 | 日本精品中文字幕 | 一区二区三区黄色 | 99re66热这里只有精品8 | 久久华人| 精品国产一区二区三区四区阿崩 | 久久精品在这里 | 黄色免费播放网站 | wwwxxx视频| 羞羞视频免费网站含羞草 | 免费a视频在线观看 | 国产1区2 | 99国产精品白浆在线观看免费 | 免费一级在线观看 | 免费一级毛片在线播放不收费 | 麻豆一区二区99久久久久 | 红杏网站永久免费视频入口 | 久久羞羞视频 | 可以免费看的av | 中文字幕一区二区三区四区 | 毛片小网站 | 国产午夜精品一区二区三区四区 |