#include <bits/stdc++.h> using i64 = long long; int fa[1000005],b[1000005]; int find(int x){ return (fa[x] == x ? x : (fa[x] = find(fa[x]))); } void merge(int x,int y){ fa[find(x)] = find(y); } int main(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n,m; std::cin >> n >> m; for(int i = 1; i <= 20005; i++) fa[i] = i; while(m--){ char c;int p,q; std::cin >> c >> p >> q; if(c == 'F'){ merge(p, q);//如果是朋友就直接放在一起 }else{ merge(p + n, q);//敌人的敌人就是自己的朋友 merge(q + n, p);//这种关系是互相的 } } int ans = 0; for(int i = 1; i <= n; i++){ ans += fa[i] == i; } std::cout << ans; return 0; }
分类:
洛谷
标签:
datastructure
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现