hdu 1874 畅通工程续
来源:互联网 发布:ubuntu 查看显卡型号 编辑:程序博客网 时间:2024/04/29 20:54
注意从0开始,计算时应计算dis[y],y是终点,如果防止错,所有的输入可以加上1,表示从1开始#include<stdio.h>#include<string.h>#define data 1000000int map[1100][1100];int dis[1100];int vis[1100];int main(){ int n,m,p,i,j; while(scanf("%d%d",&n,&m)!=EOF) { memset(vis,0,sizeof(vis)); for(i=0;i<=n;i++) for(j=0;j<=n;j++) map[i][j]=data; int a,b,t; for(i=1;i<=m;i++) { scanf("%d%d%d",&a,&b,&t); if(map[a][b]>t) map[a][b]=map[b][a]=t; } int x,y; scanf("%d%d",&x,&y); for(i=0;i<=n;i++) dis[i]=(i==x?0:data); for(i=0;i<=n;i++) { int x1,M=data; for(j=0;j<=n;j++) if(!vis[j]&&dis[j]<=M) {M=dis[j];x1=j;} vis[x1]=1; for(j=0;j<=n;j++) dis[j]=dis[j]<dis[x1]+map[x1][j]?dis[j]:dis[x1]+map[x1][j]; } if(dis[y]!=data) printf("%d\n",dis[y]); else printf("-1\n"); } return 0;}
注意是无向图
- HDU 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续
- hdu 1874(畅通工程续)
- 欢迎参加WindowsAzure启动训练营
- 如何终止线程的运行(C/C++)
- C语言的学习笔记
- 【读书笔记】软件架构师应该知道的97件事
- guid为空或不是对象怎么办?如何解决?
- hdu 1874 畅通工程续
- Program Libraries
- OpenStack学习笔记之--OpenStack Nova 架构
- 局域网内我能ping通所有的机器,也能正常上网,但是别人就是ping不通我的机器的解决方法
- 设备驱动之一 - 基于第三章的组织结构改变的scull驱动
- Android 编译源码 错误
- java学习总结(链接)
- SUG 502: Digits Permutation
- linux svn命令