题目名称 298. [NOI 2001]食物链
输入输出 eat.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarBYVoid 于2009-03-12加入
开放分组 全部用户
提交状态
分类标签
NOI 并查集 带权并查集
分享题解
通过:398, 提交:905, 通过率:43.98%
GravatarAAAAAAAAAA 100 0.002 s 0.09 MiB C++
GravatarHarry Potter 100 0.009 s 5.69 MiB C++
GravatarYoungsc 100 0.015 s 0.35 MiB C++
GravatarVect0r_ 100 0.029 s 3.06 MiB C++
GravatarHarry Potter 100 0.037 s 5.62 MiB C++
GravatarHzoi_chairman 100 0.040 s 0.67 MiB C++
Gravatar锝镆氪锂铽 100 0.040 s 5.77 MiB C++
Gravatarムラサメ 100 0.041 s 2.81 MiB C++
GravatarSPA 100 0.042 s 0.70 MiB C++
GravatarONCE AGAIN 100 0.043 s 0.67 MiB C++
本题关联比赛
练习Noip2009
数据结构应用练习2
并查集专题
关于 食物链 的近10条评论(全部评论)
检查程序BUG很重要,void写成int ——> 全E
Gravatarムラサメ
2022-03-28 07:09 18楼
回复 @syzhaoss :
谢谢老师
Gravatarムラサメ
2022-03-28 07:09 17楼
回复 @232623 :
请规范书写程序,例如第11-14行的函数返回值应当为void。
Gravatarsyzhaoss
2022-03-27 19:35 16楼
1 5 5 不是真话,是废话。
Gravatar瞻远Daniel
2019-07-22 17:18 15楼
太弱了不会带权只能写拓展域
GravatarMoonler
2019-07-21 18:39 14楼
Gravatarleon
2019-07-01 14:26 13楼
GravatarCooook
2018-04-05 07:25 12楼
继续学习并查集的操作
GravatarJustWB
2017-10-20 17:45 11楼
GravatarAntiLeaf
2017-05-25 15:43 10楼
带权并查集
Gravatar浮生随想
2016-11-15 08:09 9楼

298. [NOI 2001]食物链

★★☆   输入文件:eat.in   输出文件:eat.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。

现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。

有人用两种说法对这N个动物所构成的食物链关系进行描述:

  • 第一种说法是“1 X Y”,表示X和Y是同类。
  • 第二种说法是“2 X Y”,表示X吃Y。

此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。

  1. 当前的话与前面的某些真的话冲突,就是假话;
  2. 当前的话中X或Y比N大,就是假话;
  3. 当前的话表示X吃X,就是假话。

你的任务是根据给定的N(1<=N<=50,000)和K句话(0<=K<=100,000),输出假话的总数。

【输入格式】

第一行是两个整数N和K,以一个空格分隔。

以下K行每行是三个正整数 D,X,Y,两数之间用一个空格隔开,其中D表示说法的种类。

  • 若D=1,则表示X和Y是同类。
  • 若D=2,则表示X吃Y。

【输出格式】

只有一个整数,表示假话的数目。

【输入样例】

100 7
1 101 1
2 1 2
2 2 3
2 3 3
1 1 3
2 3 1
1 5 5

【输出样例】

3 

【样例说明】

对7句话的分析

  • 1 101 1 假话
  • 2 1 2 真话
  • 2 2 3 真话
  • 2 3 3 假话
  • 1 1 3 假话
  • 2 3 1 真话
  • 1 5 5 真话