L3-003. 社交集群----并查集
来源:互联网 发布:mysql having count 编辑:程序博客网 时间:2024/06/08 02:02
L3-003. 社交集群
时间限制
1000 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越
在社交网络平台注册时,用户通常会输入自己的兴趣爱好,以便找到和自己兴趣相投的朋友。有部分兴趣相同的人们就形成了“社交集群”。现请你编写程序,找出所有的集群。
输入格式:
输入的第一行给出正整数N(<=1000),即社交网络中的用户总数(则用户从1到N编号)。随后N行,每行按下列格式列出每个人的兴趣爱好:
Ki: hi[1] hi[2] ... hi[Ki]
其中Ki(>0)是第i个人的兴趣的数量,hi[j]是第i个人的第j项兴趣的编号,编号范围为[1, 1000]内的整数。
输出格式:
首先在第一行输出整个网络中集群的数量,然后在第二行按非递增的顺序输出每个集群中用户的数量。数字间以1个空格分隔,行首尾不得有多余空格。
输入样例:83: 2 7 101: 42: 5 31: 41: 31: 44: 6 8 1 51: 4输出样例:
34 3 1
题目链接:https://www.patest.cn/contests/gplt/L3-003
本以为自己可以说已经会并查集了,但是这个题还是没有想到怎么做,还是不到家啊。
就不讲解了,会并查集的看代码都懂。
代码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int pre[10000];int Find(int x){ return x==pre[x]?x:Find(pre[x]);}void mix(int x,int y){ int xx=Find(x); int yy=Find(y); if(xx!=yy){ pre[xx]=yy; }}int t[10000];int xin[10000];int f[10000];bool cmp(int a,int b){ return a>b;}int main(){ int n; for(int i=0;i<=1000;i++){ pre[i]=i; } scanf("%d",&n); for(int i=0;i<n;i++){ int k; int t=-1; scanf("%d:",&k); for(int j=0;j<k;j++){ int x; scanf("%d",&x); if(t==-1){ f[i]=x; t=x; } else{ mix(t,x); t=x; } } } for(int i=0;i<=1000;i++){ t[Find(f[i])]++; } int top=0; for(int i=0;i<=1000;i++){ if(t[i]!=0){ xin[top++]=t[i]; } } sort(xin+1,xin+top,cmp); cout<<top-1<<endl; for(int i=1;i<top;i++){ printf(i==1?"%d":" %d",xin[i]); } cout<<endl; return 0;}
0 0
- L3-003. 社交集群----并查集
- PAT L3-003社交集群 (并查集)
- ACM天梯赛 L3-003. 社交集群 (并查集)
- L3-003. 社交集群-PAT团体程序设计天梯赛GPLT(并查集)
- L3-003. 社交集群-图的连通分支数&&并查集-天梯赛练习题
- L3-003. 社交集群
- L3-003. 社交集群
- L3-003. 社交集群
- L3-003. 社交集群
- L3-003. 社交集群
- L3-003. 社交集群
- L3-003. 社交集群
- 团体程序设计天梯赛-练习集 L3-003 社交集群 并查集 解题报告
- PAT-4C-L3-003-社交集群(并查集)
- PATL3-003. 社交集群-并查集
- pat L3-003. 社交集群
- 团体程序设计天梯赛 L3-003. 社交集群(并差集)
- L3-3. 社交集群
- 李松林 超星尔雅形势与政策2017版答案课后答案
- java中stringBuilder的用法
- altera小实验——LCD1602显示
- 多线程_DK5之后的Lock锁的概述和使用
- JavaScript入门指南---(一)、认识JavaScript
- L3-003. 社交集群----并查集
- 奇怪的比赛
- 二叉树的层次遍历
- ACM10题
- hashtable把自己的类当做主键
- 微博 第三方登录
- 浅析=======Struts2之==========valueStack
- 特殊的不定方程——佩尔方程
- Java动态代理总结