标签:一点 include col -- 算法 opened hdu1874 splay print
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\n",m1[a][b]); else printf("-1\n"); } }
还有D算法和S算法得学一下。
标签:一点 include col -- 算法 opened hdu1874 splay print
原文地址:https://www.cnblogs.com/bxd123/p/10323277.html