zoukankan      html  css  js  c++  java
  • Problem: 扫雪系列II

    Problem: 扫雪系列II

    Time Limit: 1 Sec Memory Limit: 128 MB

    Description

    大雪履盖了整个城市,市政府要求冬季服务部门尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通,整个城市由许多交叉路口和街道构成,当然任意两个交叉路口都是直接或间接连通的,清单给出了最少的街道,使得这些街道的积雪清除后任意两个交叉路口之间有且仅有一条通路,冬季服务部门只有两辆铲雪车及两名司机,他们的出发点位于某个交叉路口。 无论街道上有没有积雪,铲雪车每前进一米都要消耗一升燃料,冬季服务部门要求司机在铲除清单上的所有街道的积雪的前提下,要求消耗燃料最少,积雪铲完后车可以停在任意的交叉路口。

    Input

    输入文件的第一行包含两个整数N和S,1≤N≤100000,1≤S≤N。N为交叉路口的总数;S为铲雪车出发的路口序号。路口的标号为1••N。
    接下来的N-1行为清单上的街道,每一行包含三个用空格隔开的整数A、B、C,表示一条从交叉路口A到交叉路口B的街道,C为该街道的长度,单位为米,1≤C≤1000。

    Output

    输出文件仅一行包含一个整数表示清除所有积雪所需的最少的燃料数量。

    Sample Input

    5 1
    1 2 1
    2 3 1
    3 5 1
    3 4 1

    Sample Output

    5

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstdlib>
    #include<cmath>
    #include<cstring> 
    using namespace std;
    #define maxn 100001
    #define minn -0x80000000
    int tot,pre[maxn<<1],now[maxn<<1],son[maxn<<1],val[maxn<<1];
    void ins(int x,int y,int z) {
        pre[++tot]=now[x];
        now[x]=tot;
        son[tot]=y;
        val[tot]=z;
    }
    int ans=minn,t;
    bool flag[maxn];
    void dfs(int x,int k) {
        if(k>ans)ans=k,t=x;
        for(int p=now[x]; p; p=pre[p]) { 
            int a=son[p],b=val[p];
            if(flag[a])
                flag[a]=false,dfs(a,k+b);
        }
    }
    int n,m,xx,yy,zz,res;
    int main() {
        cin>>n>>m;
        for(int i=1; i<n; i++)
            (cin>>xx>>yy>>zz),(res+=zz),
            (ins(xx,yy,zz),ins(yy,xx,zz));
        memset(flag,true,sizeof(flag));
        dfs(m,0),ans=0;
        memset(flag,true,sizeof(flag));
        dfs(t,0);
        cout<<res*2-ans;
        return 0;
    } 
    
  • 相关阅读:
    [React] Improve developer experience for accessing context with a custom React hook
    [CSS] Create a self-centering, full-width stripe with CSS Grid
    android之使用mvn构建创造项目步骤
    Android读取Excel文件
    Android之RAS加密算法测试
    android 内存溢出oom错误的一些小见解
    Android之在应用程序内部关注某人的微信
    Android之使用picker打开相应的app
    MAC之查看日历
    MAC之tar解压与压缩打包命令
  • 原文地址:https://www.cnblogs.com/ZhaoChongyan/p/11740459.html
Copyright © 2011-2022 走看看