L3-3. 社交集群 PAT团体设计天梯赛
2016-05-10 12:36
344 查看
题目 https://www.patest.cn/contests/gplt/L3-3
#include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<vector> #include<algorithm> using namespace std; vector<int>a[1002]; int vis[1002],visit[1002]; int num=1,n; queue<int> q; vector<int >ans; int find_r(int hh,int temp) { for(int i=1;i<=n;i++){ for(int j=0;j<a[i].size();j++){ if(a[i][j]==hh&&i!=temp){ num++; q.push(i); visit[i]=1; } } } } void bfs(int pp) { q.push(pp); while(!q.empty()){ int temp=q.front(); q.pop(); for(int i=0;i<a[temp].size();i++){ int hh=a[temp][i]; if(vis[hh]==0){ find_r(hh,temp); vis[hh]=1; } } } } int com(int a,int b) { return a>b; } int main() { int k,t; cin>>n; memset(vis,0,sizeof(vis)); memset(visit,0,sizeof(visit)); for(int i=1;i<=n;i++){ cin>>k; getchar(); while(k--){ cin>>t; a[i].push_back(t); } } for(int i=1;i<=n;i++){ if(visit[i]==0){ bfs(i); ans.push_back(num); num=1; } } sort(ans.begin(),ans.end(),com); printf("%d\n",ans.size()); printf("%d",ans[0]); for(int i=1;i<ans.size();i++){ printf(" %d",ans[i]); } return 0; }
相关文章推荐
- 【JAVA 动态创建风水罗盘 超精华Swing项目方案-项目源码 - 文章05】
- 【AKOJ】1021-最后的胜利者
- FMDB增删改查的使用
- ScrollView如何嵌套ScrollView
- 百度地图API接口 地图标注 地址经纬度解析
- sql server中将一个字段根据某个字符拆分成多个字段显示
- [转载]C#读写txt文件的两种方法介绍
- 从四个方面帮你做好移动页面性能优化
- 在centos上安装nfsen及插件
- 电商ERP系统——商品SKU与库存设计
- 使用OWIN 构建自宿主ASP.NET Web API 2
- 异常代码c0000005
- Android通用流行框架大全
- uva 10763 Foreign Exchange <"map" ,vector>
- android studio Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"
- hadoop 2.7.2 (hadoop2.x)使用ant制作eclipse插件hadoop-eclipse-plugin-2.7.2.jar
- ID卡卡号格式输出说明
- JAVA IO学习
- jquery mobile 输入框无边框
- Python学习笔记:字典(dict)有关内容