题目描述

1920年的芝加哥,出现了一群强盗。如果两个强盗遇上了,那么他们要么是朋友,要么是敌人。而且有一点是肯定的,就是:

我朋友的朋友是我的朋友;

我敌人的敌人也是我的朋友。

两个强盗是同一团伙的条件是当且仅当他们是朋友。现在给你一些关于强盗们的信息,问你最多有多少个强盗团伙。

输入输出格式

输入格式:

输入文件gangs.in的第一行是一个整数N(2<=N<=1000),表示强盗的个数(从1编号到N)。 第二行M(1<=M<=5000),表示关于强盗的信息条数。 以下M行,每行可能是F p q或是E p q(1<=p q<=N),F表示p和q是朋友,E表示p和q是敌人。输入数据保证不会产生信息的矛盾。

输出格式:

输出文件gangs.out只有一行,表示最大可能的团伙数。

输入输出样例

输入样例#1: 复制

6
4
E 1 4
F 3 5
F 4 6
E 1 2
输出样例#1: 复制

3

维护敌人的敌人是朋友
#include<bits/stdc++.h>
using namespace std;
//input by bxd
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i>=(b);--i)
#define RI(n) scanf("%d",&(n))
#define RII(n,m) scanf("%d%d",&n,&m)
#define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define RS(s) scanf("%s",s);
#define ll long long
#define pb push_back
#define REP(i,N) for(int i=0;i<(N);i++)
#define CLR(A,v) memset(A,v,sizeof A)
//////////////////////////////////
#define inf 0x3f3f3f3f
const int N=+;
int f[N];
int find1(int x)
{
return f[x]==x?x:f[x]=find1(f[x]);
}
struct node
{
int x,y,v;
}s[N];
bool cmp(node a,node b)
{
return a.v>b.v;
}
void union1(int x,int y)
{
int a=find1(x);
int b=find1(y);
if(a!=b)
f[a]=b;
}
int vis[N];
int main()
{
int n,m;
RII(n,m);
rep(i,,n)f[i]=i;
char s[];
int a,b;
rep(i,,m)
{
RS(s);RII(a,b);
if(s[]=='F')
union1(a,b);
else
{
if(!vis[a])vis[a]=b;
else union1(vis[a],b);
if(!vis[b])vis[b]=a;
else union1(vis[b],a);
}
}
int cnt=;
rep(i,,n)
if(f[i]==i)
cnt++;
cout<<cnt; return ;
}

最新文章

  1. C++ ODB 框架(未实践使用)
  2. SeismicPro地震剖面显示程序
  3. robotframework笔记25
  4. 【NOIP2013】【P1441】花匠
  5. C++与Java多态的区别
  6. UVALive 3661 Animal Run(最短路解最小割)
  7. java 枚举 类 enum
  8. Django 1.6 的测试驱动开发
  9. Ajax中XML和JSON格式的优劣比较
  10. IOS SDK相机的详细解释/画廊(默认+他们的高清摄像头接口)
  11. poj_1743_Musical Theme(后缀数组)
  12. lua 中操作系统库
  13. 探索Visual Studio生成的.vs文件夹内部结构和作用
  14. halcon电路断裂检测
  15. MySQL8的注意点
  16. python列表和元组操作
  17. loj#2305. 「NOI2017」游戏 2-sat
  18. Java-JUC(四):同步容器介绍
  19. vue 目录结构与文件配置说明
  20. Makefile学习之路——2

热门文章

  1. Ex 7_17 考虑如下的网络(其中数字为对应边的容量)...第十三次作业
  2. 清北学堂 清北-Day5-R2-xor
  3. ssh: connect to host github.com port 22: Connection timed out
  4. Confluence 6 布局高级自定义
  5. 以resnet作为前置网络的ssd目标提取检测
  6. IO 多路复用
  7. 刷《剑指offer》笔记
  8. JAVA中的Token
  9. windows 下命令行启动停止mysql
  10. mysql5.7 root用户默认密码