
#include <bits/stdc++.h> #define dbg(x) std::cerr << #x << "=" << x << "\n" using i64 = long long; constexpr int N = 100005; int fa[N * 3]; 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); } bool check(int x,int y){ return find(x) == find(y); } int main(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n, k; std::cin >> n >> k; for(int i = 1; i <= 3 * n; i++){ fa[i] = i; } int ans = 0; while(k--){ int c,x,y; std::cin >> c >> x >> y; if(x > n || y > n){ ans++; continue; } if(c == 1){//检查是否是同类 if(check(x, y + n) || check(x + n, y)) ans++; //如果是敌对关系,那么假话+1 else{//否则合并三个集合内的朋友关系 merge(x, y); merge(x + n, y + n); merge(x + n + n, y + n + n); } }else{ if(check(x, y) || check(x, y + n)) ans++; //如果在一个族群或者发现是y吃x,那么假话+1 else{//否则记录下这一个真话 merge(x + n, y); merge(x + n + n, y + n); merge(x, y + n + n);//画图可得轮换对称性 } } } std::cout << ans; return 0; }
标签:
datastructure
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现