poj 3259(bellman最短路径)[通俗易懂]

poj 3259(bellman最短路径)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Wormholes
Time Limit: 2000MS   Memory Limit: 65536K
Total Submissions: 30169   Accepted: 10914

Description

While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to its destination at a time that is BEFORE you entered the wormhole! Each of FJ’s farms comprises N (1 ≤ N ≤ 500) fields conveniently numbered 1..NM (1 ≤ M ≤ 2500) paths, and W (1 ≤ W ≤ 200) wormholes.

As FJ is an avid time-traveling fan, he wants to do the following: start at some field, travel through some paths and wormholes, and return to the starting field a time before his initial departure. Perhaps he will be able to meet himself :) .

To help FJ find out whether this is possible or not, he will supply you with complete maps to F (1 ≤ F ≤ 5) of his farms. No paths will take longer than 10,000 seconds to travel and no wormhole can bring FJ back in time by more than 10,000 seconds.

Input

Line 1: A single integer, 
F
F farm descriptions follow. 

Line 1 of each farm: Three space-separated integers respectively: 
N
M, and 
W 

Lines 2..
M+1 of each farm: Three space-separated numbers (
S
E
T) that describe, respectively: a bidirectional path between 
S and 
E that requires 
T seconds to traverse. Two fields might be connected by more than one path. 

Lines 
M+2..
M+
W+1 of each farm: Three space-separated numbers (
S
E
T) that describe, respectively: A one way path from 
S to 
E that also moves the traveler back 
T seconds.

Output

Lines 1..
F: For each farm, output “YES” if FJ can achieve his goal, otherwise output “NO” (do not include the quotes).

Sample Input

2
3 3 1
1 2 2
1 3 4
2 3 1
3 1 3
3 2 1
1 2 3
2 3 4
3 1 8

Sample Output

NO
YES

Hint

For farm 1, FJ cannot travel back in time. 

For farm 2, FJ could travel back in time by the cycle 1->2->3->1, arriving back at his starting location 1 second before he leaves. He could start from anywhere on the cycle to accomplish this.

Source

AC代码:

#include<iostream>using namespace std;struct Point{    int s,e,t;}a[10000];int se;int n,m,w;int bell_man(int start){    int dis[10000];    for(int i=1;i<=n;i++)        dis[i]=999999;    dis[start]=0;    for(int i=1;i<n;i++)    for(int j=0;j<se;j++)        dis[a[j].e] = dis[a[j].e] > dis[a[j].s] + a[j].t ? dis[a[j].s] + a[j].t : dis[a[j].e];    for(int i=0;i<se;i++){        if(dis[a[i].e] > dis[a[i].s] + a[i].t)            return 1;    }    return 0;}int main(){    int T; cin>>T;    while(T--){        se=0;        cin>>n>>m>>w;        for(int i=0;i<m;i++){            int s,e,t;            cin>>s>>e>>t;            a[se].s=s; a[se].e=e; a[se++].t=t;            a[se].s=e; a[se].e=s; a[se++].t=t;        }        for(int i=0;i<w;i++){            int s,e,t;            cin>>s>>e>>t;            a[se].s=s; a[se].e=e; a[se++].t=-t;        }        //int k;        //for(k=1;k<=n;k++){          //事实上正确的起点应该要历遍全部点。可是这种超时了                                     //这个题目仅仅要1点就能够了。算是题目的一个非常大漏洞吧,数据太水了            if(bell_man(1)){                cout<<"YES"<<endl;                //break;            }        //}        //if(k>n)        else            cout<<"NO"<<endl;    }    return 0;}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116729.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C程序编译过程浅析

    前几天看了《程序员的自我修养——链接、装载与库》中的第二章“编译和链接”,主要根据其中的内容简单总结一下C程序编译的过程吧。我现在一般都是用gcc,所以自然以GCC编译hellworld为例,简单总

    2021年12月25日
    53
  • 托尔斯泰《安娜·卡列尼娜》主要人物

    托尔斯泰《安娜·卡列尼娜》主要人物版本:上海译文2013版译者高慧群等奥博朗斯基公爵:斯捷潘·阿尔卡季奇·奥勃朗斯基公爵(在社交场合他叫斯季瓦)达里娅·亚历山德罗夫娜,小名多莉,公爵夫人格里沙——小儿子塔尼娅——大女儿,与安娜八岁的谢廖扎同年马特维——仆人马特廖娜·菲利莫诺夫娜——奶妈马特廖莎,捷连季——车夫阿尼奇金伯爵——斯季瓦的新任长官瓦尔瓦拉,公爵小姐——斯捷潘的姑妈,多莉早就认识她,对她并不尊重。她知道公爵小姐瓦尔瓦拉整个一生都在富裕的亲戚家里当食客。斯季瓦说,她一生的整个目标就是要证明自己比卡捷琳娜·帕夫洛

    2022年5月25日
    384
  • gamma校正什么意思_伽马校正系数

    gamma校正什么意思_伽马校正系数UNDERSTANDINGGAMMACORRECTIONGammaisanimportantbutseldomunderstoodcharacteristicofvirtuallyalldigitalimagingsystems.Itdefinestherelationshipbetweenapixel’snumericalvalueand

    2022年9月22日
    4
  • prophet Diagnostics诊断[通俗易懂]

    prophet Diagnostics诊断[通俗易懂]例子代码https://github.com/lilihongjava/prophet_demo/tree/master/diagnostics#encoding:utf-8importpandasaspdfromfbprophetimportProphetfromfbprophet.diagnosticsimportcross_validationfrom…

    2022年6月15日
    29
  • &lt;LeetCode OJ&gt; 337. House Robber III

    &lt;LeetCode OJ&gt; 337. House Robber III

    2022年3月5日
    48
  • Shiro框架详解[通俗易懂]

    Shiro框架详解[通俗易懂]1.Shiro框架详解一、Shiro能干什么&amp;nbsp;ApacheShiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:&amp;nbsp;认证-用户身份识别,常被称为用户“登录”;授权-访问控制;密码加密-保护或隐藏数据防止被偷窥;会话管理-每用户相关的时间敏感的状态。对于…

    2025年7月17日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号