畅通工程续 HDU1874
Posted bxd123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了畅通工程续 HDU1874相关的知识,希望对你有一定的参考价值。
floyd算法秒过。。。这个算法真的好简单
注意的一点是 两个城镇可能有多条路 存短的一条!!!
#include<bits/stdc++.h> using namespace std; int m1[300][300]; int main() { int n,m; while(scanf("%d%d",&n,&m)==2) { for(int i=0;i<n;i++) for(int j=0;j<n;j++)m1[i][j]=20000; for(int i=0;i<n;i++)m1[i][i]=0; while(m--) { int a,b,c; scanf("%d%d%d",&a,&b,&c); if(m1[a][b]>c){m1[a][b]=m1[b][a]=c;} } for(int k=0;k<n;k++) for(int i=0;i<n;i++) for(int j=0;j<n;j++) if(m1[i][j]>m1[i][k]+m1[k][j]) m1[i][j]=m1[i][k]+m1[k][j]; int a,b; scanf("%d%d",&a,&b); if(m1[a][b]!=20000) printf("%d ",m1[a][b]); else printf("-1 "); } }
还有D算法和S算法得学一下。
以上是关于畅通工程续 HDU1874的主要内容,如果未能解决你的问题,请参考以下文章