食物链(三倍空间并查集)

博客探讨了食物链问题,其中动物A、B、C形成一个循环关系。给定N个动物和M条关系,目标是找出不正确的陈述数量。假话包括与已知真实关系冲突、动物编号超出范围、自食等情况。解决方案利用并查集,通过三倍空间初始化来表示三种可能的关系状态。文章包含题解和代码,但提示不完整。
摘要由CSDN通过智能技术生成

题目:食物链

vjudge提交链接

题意:
——3种动物A,B,C,存在以下关系:A吃B, B吃C,C吃A。
输入:N个动物,m句话,每句话表示动物x和y的关系。
判断m句话中有多少句是假的。
——假话的情况:
1) 当前的话与前面的某些真的话冲突,就是假话;
2) 当前的话中X或Y比N大,就是假话;
3) 当前的话表示X吃X,就是假话。

题解:(勿看,不完整)

  1. 在未知晓动物之间关系时,n个动物可能都属于物种A,也可能都属于物种B,还可能都属于物种C。因此导出初始化,规定1 ~ n为物种A,n+1 ~ 2n为物种B,2n+1~3n为物种C。其实还是n个动物,1和n+1和2n+1其实对应的还是一种动物。
  2. 如果该句表示x和y是同类,那如何判断该句正确与否呢,首先我们知道x,x+n,x+2*n其实都表示一个动物,它

注意:不可多组输入。

代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值