#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
int g[1001];
int e[1001];
int n,m;
int find(int i)
{
return g[i]==i?i:g[i]=find(g[i]);
}
int main()
{
scanf("%d%d\n",&n,&m);
for(int i = 1;i <= n;++i)g[i]=i;
char c;
int p,q;
for(int i = 1; i < m;++i)
{
scanf("%c%d%d\n",&c,&p,&q);
if(c=='F')
{
int x = find(p);
int y = find(q);
g[x]=y;
}
else
{
if(e[p])
{
g[find(e[p])]=find(q);
}
else
{
e[p]=q;
}
if(e[q])
{
g[find(e[q])]=find(p);
}
else
{
e[q]=p;
}
}
}
scanf("%c%d%d",&c,&p,&q);
if(c=='F')
{
int x = find(p);
int y = find(q);
g[x]=y;
}
else
{
if(e[p])
{
g[find(e[p])]=find(q);
}
else
{
e[p]=q;
2597 团伙【解题报告】
最新推荐文章于 2018-07-16 16:13:28 发布