设为首页 加入收藏

TOP

zoj 3088 Easter Holidays (spfa )(二)
2015-07-20 17:45:21 来源: 作者: 【 】 浏览:6
Tags:zoj 3088 Easter Holidays spfa
; if(dis2[s][u]!=inf&&dis2[s][v]>dis2[s][u]+g2[i].w) { dis2[s][v]=dis2[s][u]+g2[i].w; pre2[s][v]=u; if(!mark[v]) { q.push(v); mark[v]=1; } } } } } /*void path(int s,int t,int pre[N][N]) { if(s==t) return ; path(pre[t][s],t,pre); printf(" %d",s); }*/ int main() { int T,n,m,k,u,v,w,i,j; scanf("%d",&T); while(T--) { scanf("%d%d%d",&n,&m,&k); memset(head1,-1,sizeof(head1)); memset(head2,-1,sizeof(head2)); t1=t2=0; for(i=0;i =inf||dis1[j][i]==-1) continue; double tmp=1.0*dis1[j][i]/dis2[i][j]; if(tmp>ans) { ans=tmp; s=i;t=j; } } } printf("%d ",s); i=s;j=t;k=0; int a[N]; //记录答案路径 while(pre2[i][j]!=s) //从终点向起始点找路径 { //到起始点结束 a[k++]=pre2[i][j]; j=pre2[i][j]; } for(i=k-1;i>=0;i--) printf("%d ",a[i]); printf("%d ",t); i=t;j=s;k=0; while(pre1[i][j]!=t) { a[k++]=pre1[i][j]; j=pre1[i][j]; } for(i=k-1;i>=0;i--) printf("%d ",a[i]); printf("%d\n",s); // path(t,s,pre2); // path(s,t,pre1); printf("%.3f\n",ans); } return 0; }

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇uva 1358 - Generator(KMP+期望) 下一篇uva 10125 - Sumsets(a+b+c=d)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)
·Linux常用命令60条( (2025-12-25 00:50:40)
·nginx 监听一个端口 (2025-12-25 00:19:30)
·整个互联网就没有一 (2025-12-25 00:19:27)