zoukankan      html  css  js  c++  java
  • 小天狼星的访问

    A. 小天狼星的访问


    Description

    经过数月的准备,小天狼星,一个被诬陷的杀人犯,准备闯入霍格沃茨见见他的侄子。霍格沃茨的地图呈一颗树状分布。每个房间由若干跳过道通向其他房间。由于小天狼星想尽快找到哈利:
    0.他会从房间0开始找
    1.他总是会选择离自己最近的房间找
    2.如果没找到,则继续选最近的房间深入
    3.如果已没有房间可走,则返回到上一个房间,继续选择(往回走也算时间哦)。
    4.当然,除了往回走,小天狼星是不会去一个房间两次的。

    Input

    第1行,nn房间个数,pp哈利所在的房间。(pn<100)
    2n2∼n行,每行3个整数s,t,l。从房间s到房间t的时间l。(st0s<t<n0<l10000)

    Output

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

    Samples

    Input Copy
    5 2
    0 1 1
    0 2 2
    1 3 3
    1 4 4
    Output
    18


    这个题说如果如果没有别的房间可以走,就返回上一个房间,看到这例非常像dfs中的回溯过程,在一看
    数据范围n<100,不用想了就是dfs,你可以按照时间排一下序,页可以不用排,反正数据范围也不大,按照
    题目要求第一次走到就是答案
    对了:不要忘记vis[0]=1
    #include<iostream>
    #include<algorithm>
    #include<vector>
    using namespace std;
    typedef pair<int,int> PII;
    const int maxn=1e6+100;
    const int mm=1e3+100;
    int n,p;
    struct node{
        int s,t,l;
    }a[maxn];
    int ss[maxn];
    int tt[maxn];
    int vis[maxn];
    bool cmp(node x,node y){
        if(x.s==y.s){
            return x.l<y.l;
        }
        else{
            return x.s<y.s;
        }
    }
    int ans=0;
    int flag=0;
    void dfs(int qi){
        for(int i=1;i<=n-1;i++){
            if(a[i].s==qi&&!vis[i]){
                ans+=a[i].l;
                vis[i]=1;
                if(a[i].t==p){
                    printf("%d
    ",ans);
                    exit(0);
                    return ;
                }
                dfs(a[i].t);
                ans+=a[i].l;
            }
        }
    }
    int main(){
        cin>>n>>p;
        for(int i=1;i<=n-1;i++){
            cin>>a[i].s>>a[i].t>>a[i].l;
        }
        sort(a+1,a+n,cmp);
        vis[0]=1;//一定不要忘记
        dfs(0);
        cout<<ans<<endl;
    }


  • 相关阅读:
    Linux-nmap
    MongoDb注意事项
    HTML如何转XTML
    Centos 64位 Install certificate on apache 即走https协议
    CentOS 下搭建部署独立SVN服务器全程详解(5.5)
    LNMP安装与配置
    64位CentOS 6.0下搭建LAMP环境
    Apache遇到的问题:APR not found
    超详细LAMP环境搭建
    偏方治百病
  • 原文地址:https://www.cnblogs.com/lipu123/p/14364662.html
Copyright © 2011-2022 走看看