zoukankan      html  css  js  c++  java
  • Codevs 4246 奶牛的身高

    Codevs 传送门

    题目描述 Description
    奶牛们在FJ的养育下茁壮成长。这天,FJ给了奶牛Bessie一个任务,去看看每个奶牛场中若干只奶牛的身高,由于Bessie是只奶牛,无法直接看出第i只奶牛的身高,而只能看出第i只奶牛与第j只奶牛的身高差,其中第i 只奶牛与第j只奶牛的身高差为A(i<=n)。当A大于0时表示这只奶牛比前一只奶牛高A cm,小于0时则是低。现在,FJ让Bessie总共去看了m次身高,当然也就传回给FJ m对奶牛的身高差,但是Bessie毕竟是奶牛,有时候眼睛可能会不好使……(大雾)你的任务是帮助FJ来判断是不是需要给Bessie看看眼睛了……

    注:Hj-Hi=A 注意T1的样例 注意注意注意 重要的事情说三遍。
    输入描述 Input Description
    第一行为一个正整数w,表示有w组数据,即w个奶牛场,需要你判断。每组数据的第一行为两个正整数n和m,分别表示对应的奶牛场中的奶牛只数以及看了多少个对奶牛身高差。接下来的m行表示Bessie看m次后传回给FJ的m条信息,每条信息占一行,有三个整数s,t和v,表示第s只奶牛与第t只奶牛的身高差为v。
    输出描述 Output Description
    包含w行,每行是”Bessie’s eyes are good”或”Bessie is blind.”(不含双引号),其中第i行为”Bessie’s eyes are good”当且仅当第i组数据,即无法从第i个奶牛场传回的身高差判断Bessie视力好不好;第i行为”Bessie is blind.”当且仅当第i组数据,即从第i个奶牛场传回的身高差是有问题的。

    裸的并查集嘛!不过题目的输出样例好坑!!!
    当我知道样例中的 撇s 的撇与数据中不一样导致我全WA时,心中一万只草泥马奔腾。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    int T,n,m;
    int f[1009],q[1009];
    void init()
    {
        for(int i=1;i<=n;i++) f[i]=i;
        memset(q,0,sizeof(q));
    }
    int find(int x)
    {
        if(x==f[x]) return x;
        int fa=find(f[x]);
        q[x]+=q[f[x]];
        return f[x]=fa;
    }
    bool combine(int x,int y,int z)
    {
        int fx=find(x),fy=find(y);
        if(fx==fy)
        {
            if(q[y]-q[x]!=z) return 0;
            else return 1;
        }
        f[fy]=fx;
        q[fy]=q[x]+z-q[y];
        return 1;   
    }
    int main()
    {
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d%d",&n,&m);
            init();
            int flag,print=0;
            for(int i=1;i<=m;i++)
            {
                int s,t,v;//Ht=v+Hs
                scanf("%d%d%d",&s,&t,&v);
                flag=combine(s,t,v);
                if(!flag&&!print) {
                   printf("Bessie is blind.
    ");
                   print=1;
                }
            }
            if(flag&&!print) printf("Bessie's eyes are good
    ");
        }
        return 0;
    }
  • 相关阅读:
    先验概率与后验概率、贝叶斯区别与联系
    Linux查看登录用户记录信息
    Discuz常见小问题-如何关闭验证码
    word文档的图片怎么保存到CKEditor上
    word文档的图片怎么保存到umeditor上
    word文档的图片怎么保存到百度Web编辑器上
    word文档的图片怎么保存到百度编辑器上
    word文档的图片怎么保存到百度ueditor上
    word图文混排复制到CuteEditor图片不显示
    word图文混排复制到eWebEditor图片不显示
  • 原文地址:https://www.cnblogs.com/dfsac/p/7587848.html
Copyright © 2011-2022 走看看