Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:一次A过,留下代码做纪念~(bellman-ford)In Reply To:一次A过,留下代码做纪念~(bellman-ford) Posted by:sunyi740 at 2016-03-24 22:17:29 > #include<iostream> > #include<cstring> > using namespace std; > int dis[6000]; > int mix=10005; > int n,m,w; > struct edge > { > int u; > int v; > int t; > }; > edge a[6000]; > > void bellman() > { > memset(dis,mix,sizeof(dis)); > dis[1]=0; > for(int i=1;i<n-1;i++) > for(int j=1;j<=2*m+w;j++) > { > if(dis[a[j].u]+a[j].t<dis[a[j].v]) > dis[a[j].v]=dis[a[j].u]+a[j].t; > } > int flag=0; > for(int j=1;j<=2*m+w;j++) > { > if(dis[a[j].u]+a[j].t<dis[a[j].v]) > { > flag=1; > break; > } > } > if(flag==1) cout<<"YES"<<endl; > else cout<<"NO"<<endl; > return; > } > > int main() > { > int f; > cin>>f; > while(f--) > { > cin>>n>>m>>w; > int i; > for(i=1;i<=2*m-1;i=i+2) > { > cin>>a[i].u>>a[i].v>>a[i].t; > a[i+1].u=a[i].v; > a[i+1].v=a[i].u; > a[i+1].t=a[i].t; > } > for(i=2*m+1;i<=2*m+w;i++) > { > cin>>a[i].u>>a[i].v>>a[i].t; > a[i].t=-a[i].t; > } > bellman(); > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator