• 1227. Rally Championship 夜


    http://acm.timus.ru/problem.aspx?space=1&num=1227

    刚开始理解错题意了呀  开始和结束点可以在路上 并不一定在节点上

    如果有环  YES

    如果没有环  任意树中最长路径满足条件 YES

    否则 NO

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<string>
    #include<vector>
    #include<map>
    #include<queue>
    #include<stack>
    #include<cmath>
    #define LL long long
    //#pragma comment(linker, "/STACK:1024000000,1024000000")
    using namespace std;
    
    const int N=150;
    int head[N],I;
    struct node
    {
        int j,d,next;
    }side[N*N];
    bool visited[N];
    int n,m,S;
    void Add(int i,int j,int d)
    {
        side[I].j=j;
        side[I].d=d;
        side[I].next=head[i];
        head[i]=I++;
    }
    bool dfs(int x,int pre,int s)
    {
        if(visited[x]||s>=S)
        return true;
        visited[x]=true;
        for(int t=head[x];t!=-1;t=side[t].next)
        {
            if(side[t].j==pre)
            {pre=-1;continue;}
            if(dfs(side[t].j,x,s+side[t].d))
            return true;
        }
        return false;
    }
    int main()
    {
        //freopen("data.txt","r",stdin);
        while(cin>>n>>m>>S)
        {
            memset(head,-1,sizeof(head));
            I=0;
            while(m--)
            {
                int i,j,d;
                cin>>i>>j>>d;
                Add(i,j,d);
                Add(j,i,d);
            }
            bool k=false;
            for(int i=1;i<=n;++i)
            {
                memset(visited,false,sizeof(visited));
                if(dfs(i,-1,0))
                {k=true;break;}
            }
            if(k)
            cout<<"YES"<<endl;
            else
            cout<<"NO"<<endl;
        }
        return 0;
    }
    
  • 相关阅读:
    Emacs 使用YASnippet
    odbc备忘
    Emacs 矩形编辑
    ftp by libcurl
    emacsshell
    Emacs cnblogs 代码着色
    Emacs下的Man
    #include ""还是<>
    三种*
    应对Maze勒索攻击的最佳实践分享
  • 原文地址:https://www.cnblogs.com/liulangye/p/2736168.html
Copyright © 2020-2023  润新知