zoukankan      html  css  js  c++  java
  • 游戏game

    这里写图片描述
    这里写图片描述
    这里写图片描述

    两人都绝顶聪明,所以一定会选让自己得分最高的。
    选的时候有两种情况:
    1.两个人分别选了一条边的两个端点。
    2.一个人连同边和两个端点都选了。
    因为最后结果是两个人的差,所以就可以将每条边的边权平摊到两个端点上(很巧妙的做法呢)。
    这样做差时都满足上面两种情况(想一想)。

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int n,m,a[10009];
    int main()
    {
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++) cin>>a[i],a[i]=a[i]*2;
        for(int i=1;i<=m;i++)
        {
          int u,v,w;
          scanf("%d%d%d",&u,&v,&w);
          a[u]+=w;a[v]+=w;
        } 
        sort(a+1,a+n+1);
        int sum1=0,sum2=0;
        for(int i=n;i>=1;i-=2)
        sum1+=a[i],sum2+=a[i-1];
        printf("%d",(sum1-sum2)/2);
        return 0;
    }
  • 相关阅读:
    HTTP基础
    DHCP(六)
    DOM备忘录
    正则表达式备忘录
    Function与Object的关系
    模块模式浅析
    视频下载
    JSP基础点滴
    迭代输出总结
    中文乱码问题的解决途径
  • 原文地址:https://www.cnblogs.com/dfsac/p/7587887.html
Copyright © 2011-2022 走看看