HDU-1874 畅道工程续
来源:互联网 发布:python hangman游戏 编辑:程序博客网 时间:2024/05/22 05:13
准备睡觉,明天还得起早上学:(
/* * HDU-1874 畅道工程续 * mike-w * 2011-8-23 *---------------------- * practice dijkstra */#include<stdio.h>#define SIZE 222#define INF (1<<30)long road[SIZE][SIZE];long dist[SIZE];int in[SIZE];int N,M;int S,T;int extract(void){int i,t;for(i=0;i<N;i++)if(!in[i]&&dist[i]<INF)break;for(t=i++;i<N;i++)if(!in[i]&&dist[i]<INF&&dist[i]<dist[t])t=i;return t>=N?-1:t;}long dijkstra(void){int i;long min;dist[S]=0;while((min=extract())!=T){if(min==-1)return -1;in[min]=1;for(i=0;i<N;i++)if(!in[i]&&road[i][min]<INF&&dist[min]+road[min][i]<dist[i])dist[i]=dist[min]+road[min][i];}return dist[T];}int main(void){int i,j,t1,t2;long t3;/*freopen("1874.in","r",stdin);*/while(scanf("%d%d",&N,&M)!=EOF){/* initialize */for(i=0;i<N;i++)for(j=0;j<N;j++)road[i][j]=INF;for(i=0;i<N;i++)in[i]=0,dist[i]=INF;/* read input */for(i=0;i<M;i++){scanf("%d%d%ld",&t1,&t2,&t3);if(t3<road[t1][t2])road[t1][t2]=road[t2][t1]=t3;}scanf("%d%d",&S,&T);/* produce answer */printf("%ld\n",dijkstra());}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 畅通工程续
- omap android 的资料链接
- 【这篇文章我找了好久啊。。。。用RGB像素画图!!!!!!!!!!!!!!!】使用SetDIBitsToDevice显示RGB数组
- 软中断和硬中断的区别
- 悲喜linux
- Android 对话框(Dialog)大全 建立你自己的对话框
- HDU-1874 畅道工程续
- GDI+中的一些方法如Image::GetWidth 时常返回信息错误的问题
- createStatement()和prepareStatement() 的参数说明
- Python学习(1)
- PHP 数组知识汇总
- jQuery页面加载初始化的3种方法
- SVN安装步骤详解
- 黑盒测试比白盒测试更难,技术要求更高?(其实也有灰盒测试)
- Python学习笔记(二)