洛谷 P1892 团伙
来源:互联网 发布:centos官网价格 编辑:程序博客网 时间:2024/06/05 19:40
P1892 团伙
并查集
#include<cstdio>int fa[2500];//fa[i]表示i的朋友所在集合,fa[i+n]表示i的敌人所在集合bool boo[2500];int ans,n,m;int find(int x){if(fa[x]!=x)fa[x]=find(fa[x]);return fa[x];}void union1(int x,int y){int fx=find(x);int fy=find(y);fa[fx]=fy;}//标准的并查集的写法int main(){int i,p,q,k;char c; scanf("%d%d",&n,&m);for(i=1;i<=2*n;i++)fa[i]=i;//初始化,最大要初始化的是fa[n+n]即fa[2*n]for(i=1;i<=m;i++){scanf("\n%c%d%d",&c,&p,&q);if(c=='F'){union1(p,q);//union1(p+n,q+n);//别搞错了,没有说朋友的敌人一定是敌人,也没有说自己的敌人与朋友的敌人一定是朋友 }if(c=='E'){union1(p,q+n);//合并p的朋友与q的敌人(q的敌人就是p的敌人的敌人) union1(p+n,q);//与上面一行类似}}for(i=1;i<=n;i++)//判断1-n中有几个集合,每个集合一个团队时团队数量最多(合并集合只可以减少团队,而要满足题意最少也要这么多集合){k=find(i);if(boo[k]==false){boo[k]=true;ans++;}}printf("%d",ans);return 0;}
阅读全文
0 0
- 洛谷 P1892 团伙
- 洛谷P1892团伙
- P1892 团伙
- 洛谷1892 团伙
- 团伙
- 团伙
- 团伙
- 【洛谷1892】团伙 并查集
- 团伙(group)
- 犯罪团伙
- codevs2597团伙
- BZOJ1370Gang团伙
- 【9009】团伙
- 犯罪团伙
- wustoj1939团伙
- [codevs2597]团伙
- bzoj1370 团伙
- rqnoj 577 团伙
- js 函数
- 5-25 念数字 (15分)
- SDN控制器
- OfficeVBA文档
- The folder is already a source folder
- 洛谷 P1892 团伙
- mysql 二 数据类型与操作数据表
- Android图片加载框架Glide用法
- 使用USB3.0的U盘装Win7教程
- 三层交换机--访问本地VLANIF接口所需要的L3表项
- oracle数据库中varchar2陷阱
- Android开发 之 Activity全透明渐变切换
- Ubuntu14.04 ROS(indigo) 激光雷达(Sick LMS511) 数据读取
- CUDA编程(八)树状加法