zoukankan      html  css  js  c++  java
  • [NOIP-P0708]小天狼星的访问

    题目描述

    经过数月的准备,小天狼星,一个被诬陷的杀人犯,准备闯入霍格沃茨见见他的侄子。霍格沃茨的地图呈一颗树状分布。每个房间由若干跳过道通向其他房间。由于小天狼星想尽快找到哈利:

    0.他会从房间0开始找

    1.他总是会选择离自己最近的房间找

    2.如果没找到,则继续选最近的房间深入

    3.如果已没有房间可走,则返回到上一个房间,继续选择(往回走也算时间哦)。

    4.当然,除了往回走,小天狼星是不会去一个房间两次的。-0-

    输入

    第1行,n房间个数,p哈利所在的房间。(p<=n<100)

    第2-n行,每行3个整数s,t,l。从房间s到房间t的时间l。(s≠t, 0<=s<t< n, 0 <l<=10000)

    输出

    输出找到哈利的时间(开始时间为0)。

    样例输入

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

    样例输出

    18

    提示

    代码

    #pragma GCC optimize(1)
    #pragma GCC optimize(2)
    #pragma GCC optimize(3)
    #pragma GCC optimize("Ofast")
    #pragma GCC optimize("inline")
    #include<bits/stdc++.h>
    #define rep(i,j,k) for(register int i=(j);i<=(k);++i)
    #define per(i,j,k) for(register int i=(j);i>=(k);--i)
    using namespace std;
    template<class T> inline void read(T &x)
    {
        x=0;
        register char c=getchar();
        register bool f=0;
        while(!isdigit(c))f^=c=='-',c=getchar();
        while(isdigit(c))x=x*10+c-'0',c=getchar();
        if(f)x=-x;
    }
    const int N=101;
    int n,m,f[N][N],a,b,c,ans;
    bool used[N];
    inline void dfs(register int i)
    {
        register int j,k,mn;
        while(1)
        {
            k=0,mn=2147483647;
            rep(j,1,n)
                if(!used[j]&&f[i][j]>0&&mn>f[i][j])
                    mn=f[i][j],k=j;
            if(mn==2147483647)
                return ;
            used[k]=1,ans+=f[i][k];
            if(k==m)
            {
                printf("%d",ans);
                exit(0);
            }
            dfs(k);
            ans+=f[i][k];
        }
    }
    int main()
    {
        read(n),read(m);
        rep(i,1,n-1)
        {
            read(a),read(b),read(c);
            f[a][b]=f[b][a]=c;
        }
        used[0]=1;
        dfs(0);
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    Oracle to_char格式化函数
    电脑快捷键大全
    Failed to create the Java Virtual Machine (Myeclipse或者eclipse启动报错)
    Java 面试题
    UVA1108 Mining Your Own Business
    无向图的连通性
    [NOI Online #2 提高组]子序列问题
    [NOI Online #3 提高组]优秀子序列
    POJ2430 Lazy Cows
    UVA1633 Dyslexic Gollum
  • 原文地址:https://www.cnblogs.com/LJA001162/p/12817452.html
Copyright © 2011-2022 走看看