HDU2544 最短路

来源:互联网 发布:网上商城源码 java 编辑:程序博客网 时间:2024/06/02 02:59

  题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544

  最短路裸题,点数小,可以直接用Floyd求解

  贴代码

#include<cstdio>#include<cstring>using namespace std;int g[105][105];int main(){//freopen("2544.in","r",stdin);//freopen("2544.out","w",stdout);int n,m;scanf("%d%d",&n,&m);while (!(n==0&&m==0)){  memset(g,0X3f3f3f3f,sizeof(g));  int INF=g[0][0];  while (m--){  int x,y,z;  scanf("%d%d%d",&x,&y,&z);  if (z<g[x][y])g[x][y]=g[y][x]=z;  }  for (int i=1;i<=n;i++)g[i][i]=0;  for(int k=1;k<=n;k++)    for(int i=1;i<=n;i++)    if (i!=k)for (int j=1;j<=n;j++)    if (j!=i&&j!=k)if (g[i][k]+g[k][j]<g[i][j])g[i][j]=g[i][k]+g[k][j];      printf("%d\n",g[1][n]);  scanf("%d%d",&n,&m);} return 0;} 
【写的有漏洞的,欢迎路过大神吐槽】

  2017/07/24 22:15:13

  Ending.