`
zhouxiaojie
  • 浏览: 9480 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

1182食物链

    博客分类:
  • poj
阅读更多
  用并查集,方法模仿POJ2492A Bug's Life, 这题是2*n个数,如果a和b是异性,那么a和b+n,b和a+n是同性,这样在判断a和b是否是同性时可以通过a+n,或b+n来判断。
  而1182 这题是类似的方法,如果 b 被 a 吃,那么 a 和 b+n , a+n 和 b+2*n ,b 和 a+2*n
是同类。如果输入有“1 A B”, 如果A,B不同类 或  B 吃 A 则这句话是假的。



#include<cstdio>
int pre[150002];
void init(int n)
{
int i;
for(i=0;i<=n*3;i++)
{
pre[i]=-1;
}
}
int find(int x)
{
int p;
p=x;
while(pre[p]>=0)
{
p=pre[p];
}
return p;
}
int unit(int x,int y)
{
    int a,b;
    a=find(x);b=find(y);
    if(a==b)
return 0;
    else
    if(pre[a]<pre[b])
    {
        pre[a]+=pre[b];pre[b]=a;
    }
    else
    {
        pre[b]+=pre[a];pre[a]=b;
    }
    return 0;
}
int main()
{
int n,k,i,j,a,b,c;
scanf("%d%d",&n,&k);
init(n);
int ans = 0;
while(k--)
{
    scanf("%d%d%d",&a,&b,&c);
    if(b>n||c>n||(a==2&&b==c))
           {
            ans ++;
            continue;
           }
        if(a==1)
        {
            if(!(((find(b)==find(c+n))||(find(b+n)==find(c+2*n))||(find(c)==find(b+2*n)))
               ||((find(c)==find(b+n))||(find(c+n)==find(b+2*n))||(find(b)==find(c+2*n))))) // 如果不是 A 吃 B 或  B 吃 A
            {
                unit(b,c);
                unit(b+n,c+n);
                unit(b+2*n,c+2*n);
            }
            else ans++;
        }
        if(a==2)
        {
            if(find(b)==find(c)||((find(c)==find(b+n))||(find(c+n)==find(b+2*n))||(find(b)==find(c+2*n))))// 如果A,B不同类 或  B 吃 A
            ans ++;
            else
            {
                unit(b,c+n);
                unit(b+n,c+2*n);
                unit(c,b+2*n);
            }
        }
}
printf("%d\n",ans);
}
分享到:
评论

相关推荐

    简单的食物链

    【标题】"简单的食物链" 是一个基于C++编程语言的大作业项目,旨在让学生通过编程实践理解生态系统的食物链概念。在这个项目中,学生需要利用C++编程技巧来模拟自然界中的食物链关系,例如捕食者与被捕食者之间的...

    poj 食物链

    poj 食物链代码.带权并查集,关键是找到其中的一些关系式.

    小学科学食物链和食物网PPT教案.pptx

    在这一课中,学生们将学习生物间是如何通过食物链相互联系,以及不同食物链是如何交织形成食物网的。这样的学习对于孩子们早期形成科学的自然观和生态观具有重要意义。 首先,食物链的概念是这样的:它由一系列的...

    粤教小学科学六年级上册食物链PPT课件.pptx

    食物链是生态系统中生物之间能量传递和营养关系的一种表现形式,是生物学中的基本概念,尤其在生态学和生物学教育中占有重要地位。粤教小学科学六年级上册的食物链PPT课件,旨在帮助学生理解这个核心概念,通过生动...

    教科版(2017秋)五年级下册16食物链与食物网 同步练习(含答案) .pdf

    教科版(2017秋)五年级下册16食物链与食物网 同步练习(含答案) .pdf

    食物链问题(并查集)

    动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所...

    高中生物——食物链精选.pptx

    高中生物——食物链精选.pptx

    Foodchain_食物链系统_

    《食物链系统:生态系统中的生命交织》 在我们的大自然中,存在着一种微妙而复杂的相互关系,这就是所谓的“食物链系统”。食物链系统是生态学的基础概念之一,它描绘了生物群落中不同生物种群之间的营养关系,揭示...

    教科版(2017秋)五年级下册16食物链和食物网 课件 .pdf

    教科版(2017秋)五年级下册16食物链和食物网 课件 .pdf

    幼儿园教案2021-中班科学:海洋动物食物链.doc

    【海洋动物食物链】是指海洋生态系统中不同生物之间形成的一种食物关系,其中一种生物成为另一种生物的食物,形成一个环环相扣的链状结构。在这个过程中,每种生物都在食物链的不同层次上扮演着消费者的角色,有的是...

    小学科学五年级上册食物链和食物网PPT课件.pptx

    食物链和食物网是生态系统中生物之间相互依赖和相互作用的重要概念,主要涉及物种之间的食物关系。在小学科学教育中,这些概念对于帮助学生理解生态平衡和生物多样性至关重要。 首先,我们要明白生物生存的基本需求...

    实验调演食物链和食物网(1).zip

    在IT领域,尤其是在数据分析、生物学建模或者环境科学中,食物链和食物网的概念是重要的研究对象。然而,这个"实验调演食物链和食物网(1).zip"的文件似乎与传统IT技术关联不大,它更偏向于教育或生物学方面的内容。...

    八年级生物下册 6.2.2 食物链和食物网学案(无答案) 济南版

    在生态系统中,食物链和食物网是描述生物间能量流动和物质循环的重要概念。它们不仅体现了生物间的捕食关系,而且揭示了物质和能量在生态系统中的传递过程。为了深入理解这一过程,本文将对食物链和食物网的定义、...

    《食物链与食物网》PPT课件.ppt

    食物链和食物网是生态学中的基本概念,用于描述生态系统中生物之间相互依赖和捕食的关系。在自然环境中,各种生物通过食物链和食物网互相连接,形成复杂的食物关系网络。 食物链是生物群落中一种线性的营养关系,...

    小学五年级科学食物链和食物网PPT教案.pptx

    在自然界的广阔舞台上,生态系统是生命活动的中心,其中食物链和食物网是维持生命活动能量流动的关键概念。对于小学五年级的学生来说,理解食物链和食物网是他们探究生物学世界的第一步,这不仅有助于他们认识到生物...

    江苏省镇江市七年级生物上册 6.1 食物链教学案(无答案)(新版)苏科版 教学案.doc

    2. 食物链的概念:食物链是指在一个生态系统中,生物们通过食物关系形成的一种线性序列。在这个序列中,一种生物是另一种生物的食物,形成了“我吃你,你吃他”的链条。 3. 食物链的结构:一条完整的食物链通常包括...

    六年级科学下册有趣的食物链苏教有用PPT学习教案.pptx

    在自然界的壮丽画卷中,食物链如同一条条流动的溪流,维系着生态系统的平衡与和谐。对于六年级的小学生来说,理解食物链不仅仅是一次知识的学习,更是一次对生命与自然界深刻认识的开启之旅。本篇教案“六年级科学...

    教科五年级科学上册食物链和食物网PPT学习教案.pptx

    在自然界中,生物与生物之间的关系错综复杂,食物链和食物网便是描述这些关系的基本生态学概念。在五年级的科学课程中,学生将通过教科书和PPT学习教案,深入了解食物链和食物网的含义,以及它们在生态平衡和生物...

    山东省德州市夏津实验中学八年级生物下册《第二节 食物链和食物网》学案(无答案) 新人教版

    8. **食物链的数量与长度**:在食物网中,食物链的条数可能很多,最长的食物链通常是从生产者开始,经过多个消费者级别直到顶级消费者。较长的食物链意味着能量损失更多,因为每个营养级的能量传递效率大约只有10%到...

Global site tag (gtag.js) - Google Analytics