#include <iostream>
#include <stdio.h>using namespace std;const int maxNodes = 50010;
int father[maxNodes];
int rank[maxNodes];//此处rank的意义不一样
//此题最后所有的点都属于一个类int N,K,c;void init()
{for (int i=1;i<=N;++i){father[i] = i;rank[i] = 0;}
}int findSet(int x)//一边搜索一边压缩路径,建立成高度为1的树的形势,并重新计算x与新父节点的关系
{if(x == father[x])return father[x];int p = father[x];//x之前的父节点father[x] = findSet(father[x]);rank[x] = (rank[x] + rank[p])%3;return father[x];
}void merge(int x,int y)//如果x,y没有关系,就要把x,y的关系加入
{int ra = father[x];int rb = father[y];/*int ra = findSet(x);int rb = findSet(y);*/father[ra] = rb;rank[ra] = (c -1 +rank[y]-rank[x] +3)%3;//rank[ra] = (-c +1 -rank[y]+rank[x] +3)%3;
}int main()
{scanf("%d%d",&N,&K);init();int ans = 0;for (int i=0;i<K;++i){int a,b;scanf("%d%d%d",&c,&a,&b);if(a>N||b>N||(c==2 && a==b)){//cout<<i +1<<endl;++ans;continue;}int ra = findSet(a);int rb = findSet(b);if(ra == rb)//说明a和b的关系已经存在,只需要验证即可{if((rank[a] - rank[b]+3)%3!=c -1){//cout<<i +1<<endl;++ans;}}else//a和b的关系还没有确定,这句话是对的merge(a,b);}cout<<ans<<endl;return 0;
}

竟然不是多组数据,就一组数据,太坑爹了

哥写了循环接收的,就是wa

只接收一组的,就ac了

并查集 poj1182相关推荐

  1. 并查集/poj1182 noi2001食物链eat

    题意 有三类动物A,B,C,题中给出两种关系: 1 x y :x y 同类 2 x y :x吃y 对于假话的定义: 1.当前的话与前面的某些真的话冲突,就是假话: 2.当前的话中X或Y比N大,就是假话 ...

  2. 【常用数据结构——并查集(又在乱牵线了)】

    并查集 简介 并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中.这一类问题 ...

  3. POJ1182 食物链---(经典种类并查集)

    题目链接:http://poj.org/problem?id=1182 食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: ...

  4. Bailian1182 POJ1182 食物链【并查集】

    1182:食物链 描述 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到 ...

  5. POJ-1182 食物链(并查集)

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 75814   Accepted: 22528 Description ...

  6. poj1182 and 携程预赛2第一题 带权并查集

    题意:       动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A.  现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底 ...

  7. poj1182(加权值的并查集)

    Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A.  现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它 ...

  8. POJ1182 食物链 —— 种类并查集

    题目链接:http://poj.org/problem?id=1182 食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: ...

  9. 并查集——食物链(poj1182)

    题目链接: http://poj.org/problem?id=1182 题目描述: 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A.  现有N个动物,以 ...

最新文章

  1. Jmeter学习笔记三_操作数据库(MySQL)
  2. Access 字段拼接(UPDATE 数据追加)
  3. Python学习教程(Python学习路线):第12天—正则表达式
  4. 简单了解Vue的自定义组件与生命周期
  5. 万兆以太网测试仪应该具备什么功能
  6. oracle dblink 验证,Oracle DBLINK 简单使用
  7. 子弹短信 android,子弹短信精简版
  8. 洛谷 P1067 多项式输出
  9. 万能转换器boost::lexical_cast
  10. Wordpress 2.91 的一些良好改进
  11. 防火墙配置十大任务之五,有NAT的两个接口的配置
  12. 3dmax如何快速查找丢失贴图,并根据贴图快速找到对应物体
  13. oracle01004,Oracle goldengate的OGG-01004 OGG-1296错误
  14. 【头歌C语言程序与设计】结构体
  15. 如何使用WPS从正文开始页码为1,而不是从目录开始?
  16. 计算机有多种技术指标其主频是,计算机有多种技术指标,其中主频是指( )。
  17. 新标准下企业申请测绘资质相关问题与解答
  18. 5码默认版块_速看!在阜阳,“5折乘公交”优惠来了
  19. (四)浅谈OpenStack T版服务组件--Nova计算服务(#^.^#)
  20. 一个移动光猫能连几个路由器?

热门文章

  1. 四十一、Linux基础命令,用户管理和文件系统总结
  2. keepalived安装与配置_面试官问LVS+keepalived+nginx怎么实现时该怎么答?
  3. 北京内推 | 微软亚洲研究院DKI组王露研究员招聘强化学习方向研究实习生
  4. AAAI 2022有哪些值得读的NLP相关论文?
  5. 再谈变分自编码器(VAE):估计样本概率密度
  6. 最新综述:作为体现具体化自然语言环境的文本世界
  7. SIGIR 2021 | Pchatbot: 大规模个性化聊天机器人数据集
  8. 一文带你看懂PaddleHub
  9. “Paper + Code”加量豪华套餐 | PaperDaily #04
  10. 上传到GitHub或者码云中README文件无法显示图片