zoukankan      html  css  js  c++  java
  • hiho1515

    题目链接

    小Hi的学校总共有N名学生,编号1-N。学校刚刚进行了一场全校的古诗文水平测验。  

    学校没有公布测验的成绩,所以小Hi只能得到一些小道消息,例如X号同学的分数比Y号同学的分数高S分。 

    小Hi想知道利用这些消息,能不能判断出某两位同学之间的分数高低

    
    
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    using namespace std;
    const int N = 100100;
    int f[N];
    int dist[N];
    int find(int a){
        int fa = f[a];
        if(fa!=a) {
           f[a] = find(fa);
           dist[a] += dist[fa];
           return f[a];
        }
        else return fa;
    } 
    int n,m,q;
    int main(){
        int a,b,s;
        scanf("%d%d%d",&n,&m,&q);
        memset(dist,0,sizeof(dist));
        for(int i=1;i<=n;i++) f[i] = i;
        for(int i=0;i<m;i++){
            scanf("%d%d%d",&a,&b,&s);
            int fa = find(a);
            int fb = find(b);
            if(fa==fb) continue;
            f[fb] = fa;
            dist[fb] = dist[a]+s-dist[b];    
        }
        for(int i=0;i<q;i++){
            scanf("%d%d",&a,&b);
            int fa = find(a);
            int fb = find(b);
            if(fa!=fb) printf("-1
    ");
            else printf("%d
    ",dist[b]-dist[a]);
        }
        return 0;
    }


  • 相关阅读:
    HAOI2008题解
    codeforces round375(div.2)题解
    codeforces round373(div.2) 题解
    TJOI2015题解
    CF976D. Degree Set
    dtoj#4243. 熊猫(i)
    dtoj#4242. 大爷(w)&&CF1061E
    CF786C Till I Collapse
    dtoj#4239. 删边(cip)
    dtoj#2504. ZCC loves cube(cube)
  • 原文地址:https://www.cnblogs.com/redips-l/p/6761399.html
Copyright © 2011-2022 走看看