1385:团伙(group)

简介: 1385:团伙(group)

1385:团伙(group)

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足:

1、我朋友的朋友是我的朋友;

2、我敌人的敌人是我的朋友;

所有是朋友的人组成一个团伙。告诉你关于这n个人的m条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?

【输入】

第1行为n和m,1<n<1000,1<=m<=100 000;

以下m行,每行为p x y,p的值为0或1,p为0时,表示x和y是朋友,p为1时,表示x和y是敌人。

【输出】

一个整数,表示这n个人最多可能有几个团伙。

【输入样例】

6 4

1 1 4

0 3 5

0 4 6

1 1 2

【输出样例】

3

1. //示例代码
2. #include <bits/stdc++.h>
3. using namespace std;
4. int n,m,p,x,y,ans;
5. int father[1010],enemy[1010];
6. int find(int x){//查找根
7.  if(father[x]!=x) father[x]=find(father[x]);
8.  return father[x];
9. }
10. void unionn(int x,int y){//合并
11.   int a=find(x);
12.   int b=find(y);
13.   father[a]=b;
14. }
15. int main() {
16.   cin>>n>>m;
17.   for(int i=1;i<=n;i++) father[i]=i;//初始化每个人都是自己的团伙头
18.   for(int i=1;i<=m;i++){
19.     cin>>p>>x>>y;
20.     if(p==0) unionn(x,y);//朋友合并
21.     else {
22.       if(enemy[x]==0) enemy[x]=y;//无敌人则建立敌人
23.       else unionn(enemy[x],y);//已有敌人 敌人和敌人是朋友
24.       if(enemy[y]==0) enemy[y]=x;//无敌人则建立敌人
25.       else unionn(enemy[y],x);//已有敌人 敌人和敌人是朋友
26.     }
27.   }
28.   for(int i=1;i<=n;i++)
29.     if(father[i]==i) ans++;//统计每个团伙的头有几个
30.   cout<<ans;
31. return 0;
32. }


相关文章
|
4月前
|
安全 JavaScript 前端开发
某光集团网站被加入利用ANI漏洞传播Worm.Win32.Viking.ix的代码
某光集团网站被加入利用ANI漏洞传播Worm.Win32.Viking.ix的代码
|
SQL 数据采集 存储
Amundsen在REA Group公司的应用实践
Amundsen在REA Group公司的应用实践
241 0
Amundsen在REA Group公司的应用实践
|
SQL 架构师 关系型数据库
小胖问我:group by 怎么优化?(上)
哈喽,我是狗哥,好久不见呀!是的,我又又换了工作。最近一直在面试这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。
小胖问我:group by 怎么优化?(上)
|
SQL 存储 关系型数据库
小胖问我:group by 怎么优化?(下)
小胖问我:group by 怎么优化?
小胖问我:group by 怎么优化?(下)
|
机器学习/深度学习 SQL 安全
W13Scan 扫描器挖掘漏洞实践
这段时间总想捣鼓扫描器,发现自己的一些想法很多前辈已经做了东西,让我有点小沮丧同时也有点小兴奋,说明思路是对的,我准备站在巨人的肩膀去二次开发,加入一些自己的想法,从freebuf中看到W13Scan扫描器,觉得这个扫描器很酷,准备深入研究。
256 0
W13Scan 扫描器挖掘漏洞实践
|
Java
营销活动之口碑营销活动列表查询(koubei.marketing.campaign.activity.batchquery)-Java版
说明:   本帖是测试口碑营销活动列表查询,只能查询到通过接口创建的营销活动,首先要创建口碑门店   测试环境:JAVA1.5+,eclipse   是否支持沙箱环境:支持  接口文档:查看  sdk下载:下载   沙箱Java版营销活动demo:download:营销活动Java版.
417 12
|
存储 安全 数据安全/隐私保护
Active Directory域渗透之白银票证后门
本文讲的是Active Directory域渗透之白银票证后门,本文的内容描述了一种方法,通过该方法,攻击者可以在拿到域管理级别的权限约5分钟后,就可持久的对Active Directory的管理进行访问。
1607 0

热门文章

最新文章

下一篇
开通oss服务