HDU-1224 最短路 SPFA
来源:互联网 发布:淘宝网短棉衣 编辑:程序博客网 时间:2024/06/05 17:55
一道十分基本的最短路。
貌似我写最短路写出了思维定势,初始化竟然错了——因为这道题的权值在结点上,不在边上。
不管怎么样,一道水题写成这个样子是不应该的==!
/* * hdu-1224 * mike-w * 2012-4-7 */#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX_SIZE 128#define Q_SIZE MAX_SIZE#define INF (1<<30)int T,N,M;int f[MAX_SIZE][MAX_SIZE];int que[Q_SIZE],qhead,qtail,qlen;int inq[MAX_SIZE],dst[MAX_SIZE],pi[MAX_SIZE];int ff[MAX_SIZE];int enque(int e){if(qlen==Q_SIZE)return -1;qlen++;que[qtail]=e;qtail=(qtail+1)%Q_SIZE;return 0;}int deque(int *e){if(qlen==0)return -1;qlen--;*e=que[qhead];qhead=(qhead+1)%Q_SIZE;return 0;}int disp(int e){if(pi[e]==e)printf("%d",e);else{disp(pi[e]);printf("->%d",e);}return 0;}int spfa(void){int i,x;for(i=1;i<=N+1;i++)inq[i]=0,dst[i]=-INF,pi[i]=i;qhead=qtail=qlen=0;dst[1]=0;pi[1]=1;inq[1]=1;enque(1);while(deque(&x)!=-1){inq[x]=0;for(i=1;i<=N+1;i++){if(f[x][i] && dst[x]+ff[i]>dst[i]){dst[i]=dst[x]+ff[i];pi[i]=x;if(!inq[i])enque(i),inq[i]=1;}}}printf("points : %d\n",dst[N+1]);printf("circuit : ");disp(pi[N+1]);printf("->1\n");return 0;}int main(void){#ifndef ONLINE_JUDGEfreopen("in","r",stdin);#endifscanf("%d",&T);int ccase=1;int i,j,e1,e2;for(ccase=1;ccase<=T;ccase++){printf("CASE %d#\n",ccase);for(i=1;i<=N+1;i++)for(j=1;j<=N+1;j++)f[i][j]=0;scanf("%d",&N);for(i=1;i<=N;i++)scanf("%d",ff+i);ff[N+1]=0;scanf("%d",&M);for(i=1;i<=M;i++)scanf("%d%d",&e1,&e2),f[e1][e2]=1;spfa();if(ccase<T)putchar('\n');}return 0;}
- HDU-1224 最短路 SPFA
- hdu 2544 最短路(最短路spfa)
- hdu-2112 最短路 SPFA
- HDU-3790 最短路 SPFA
- hdu 4318 SPFA 最短路
- hdu 2544 最短路(spfa)
- HDU-1142 最短路(spfa)
- Spfa 最短路 HDU 2544
- hdu 2544 最短路-spfa
- hdu 2544 最短路 spfa
- HDU 2544 最短路 (SPFA)
- HDU 2544 最短路【SPFA】
- HDU 2544 最短路 SPFA
- hdu 1217 最短路,spfa
- HDU 2544-最短路(最短路spfa)
- HDU 2544 最短路(最短路/spfa)
- hdu 2544 最短路 (dijkstra/floyd/spfa)
- hdu 3790 最短路spfa模板
- POJ-2251
- 整合SSH过程中遇到错误之运行项目action取不到自动装配的bean
- POJ-2259
- 变量在内存中的存放位置
- 比赛——The Water Bowls
- HDU-1224 最短路 SPFA
- POJ-2262
- 关于“大局观”的一些思考
- POJ-3006
- 一些负载均衡器的介绍材料
- POJ-3094
- POJ-3195
- POJ-22551
- POJ 1083 Moving Tables