hdu 3631(floyd思想的运用)
来源:互联网 发布:python def的作用 编辑:程序博客网 时间:2024/05/29 16:11
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3631
思路:由于只能用标记的点去更新,并且又要求任意两点之间的最短距离,显然floyd是最合适的。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<queue> 6 #include<vector> 7 using namespace std; 8 #define MAXN 333 9 #define inf 1<<3010 bool mark[MAXN];11 int map[MAXN][MAXN];12 int N,M,Q;13 14 void Floyd(int x){15 for(int i=0;i<N;i++){16 for(int j=0;j<N;j++){17 if(map[i][x]!=inf&&map[x][j]!=inf&&map[i][j]>map[i][x]+map[x][j]){18 map[i][j]=map[i][x]+map[x][j];19 }20 }21 }22 }23 24 25 int main(){26 int _case=1,u,v,w,x,y,flag;27 while(~scanf("%d%d%d",&N,&M,&Q),(N+M+Q)){28 if(_case>1)puts("");29 for(int i=0;i<N;i++){30 map[i][i]=0;31 for(int j=i+1;j<N;j++){32 map[i][j]=map[j][i]=inf;33 }34 }35 for(int i=1;i<=M;i++){36 scanf("%d%d%d",&u,&v,&w);37 if(w<map[u][v])map[u][v]=w;38 }39 memset(mark,false,sizeof(mark));40 printf("Case %d:\n",_case++);41 while(Q--){42 scanf("%d",&flag);43 if(flag==0){44 scanf("%d",&x);45 if(mark[x]){ printf("ERROR! At point %d\n",x);continue; }46 mark[x]=true;47 Floyd(x);48 }else {49 scanf("%d%d",&x,&y);50 if(!mark[x]||!mark[y]){51 printf("ERROR! At path %d to %d\n",x,y);52 }else if(map[x][y]<inf){53 printf("%d\n",map[x][y]);54 }else 55 puts("No such path");56 }57 }58 }59 return 0;60 }
0 0
- hdu 3631(floyd思想的运用)
- HDU 4034 Graph(11年成都 Floyd运用)
- HDU 4034 Graph(11年成都 Floyd运用)
- 调整思想的运用
- 巧妙的运用Floyd算法
- hdu 4034 Graph解题报告-Floyd思想
- HDU 2066 一个人的旅行 (floyd)
- 数学思想的工程运用
- hdu 3631 Shortest Path(floyd插点法)
- hdu 3631 Shortest Path(Floyd)
- hdu 3631 Shortest Path(Floyd)
- hdu 3631 Shortest Path (floyd)
- hdu 3631(floyd)
- hdu 3631(Floyd变形)
- HDU 3631 floyd
- HDU-3631-floyd插点法
- POJ2240 Arbitrage(floyd算法的变形运用)
- 【hdu 】 Arbitrage (Floyd)
- hdu 1503(最长公共子序列的升级版)
- hdu 1300
- hdu 1422(环上最长连续子序列)
- hdu 4528(bfs)
- hdu 3832(最短路)
- hdu 3631(floyd思想的运用)
- hdu 3873(有节点保护的最短路)
- hdu 2648(map简单应用)
- 《学习opencv》笔记——基本数据结构,CvMat,矩阵访问
- hdu 4034(floyd应用)
- hdu 3560(dfs判环)
- hdu 4293
- hdu 2608(找规律)
- hdu 4396(spfs/二维最短路)