wikioi p1077 多源最短路
来源:互联网 发布:好找工作的专业知乎 编辑:程序博客网 时间:2024/05/16 12:55
题目简单
邻接矩阵+dijkstra
#include<stdio.h>#include<iostream>#include<memory.h>#include<string.h>#include<stdlib.h>using namespace std;const int MAX_N=101;int r[MAX_N][MAX_N];int have[MAX_N];int d[MAX_N][MAX_N];int N;int M;int init(){ scanf("%d",&N); int i,j;int d; for (i=1;i<=N;i++) for (j=1;j<=N;j++) { scanf("%d",&d); r[i][j]=d; r[j][i]=d; }}int putD(){int i;int j; for(i=1;i<=N;i++){ for(j=1;j<=N;j++) printf("%d ",d[i][j]); printf("\n");}} int DijkStra(){ int i,j,k,t;for (t=1;t<=N;t++) { memset(d[t],1,sizeof(d[t])); d[t][t]=0; //putD(); memset(have,0,sizeof(have)); for (i=1;i<=N;i++) { int j=1; while (have[j]&&j<=N) j++; if (j>N) break;for (k=j+1;k<=N;k++) if (!have[k]&&d[t][k]<d[t][j]) j=k; have[j]=1; for (k=1;k<=N;k++) if (!have[k]&&d[t][j]+r[j][k]<d[t][k]) d[t][k]=d[t][j]+r[j][k]; } }}int put(){ scanf("%d",&M); int i; int s,t; for (i=1;i<=M;i++) { scanf("%d %d",&s,&t);printf("%d\n",d[s][t]); }}int main(){ init(); DijkStra(); put(); return 0;}
- wikioi p1077 多源最短路
- 洛谷 P1077 摆花
- BZOJ P1077[SCOI2008]天平
- 洛谷 P1077 摆花
- hihocoder p1077 线段树
- Vijos P1077 克隆龙
- 摆花 洛谷p1077
- (A*,IDA*,DFS)eight(p1077)
- wikioi-天梯-提高一等-最短路-1041:Car的旅行路线
- 多源最短路
- 多源最短路
- Tyvj P1077 CODE[VS] 2190 有理逼近
- 动态规划 洛谷P1077 摆花
- wikioi-1742
- wikioi-1038
- wikioi-1204
- wikioi-1205
- wikioi 高精度
- 推荐给开发人员的实用命令行工具
- wikioi p1041 Car的旅行路线
- 高效Linux用户需要了解的命令行技能
- mysql 白皮书维护指南
- poj3083 Children of the Candy Corn
- wikioi p1077 多源最短路
- Free Book
- 浙江大学PAT上机题解析之1012. 数字分类 (20)
- 示例线程sleep执行过程解析
- CXF Spring开发WebService,基于SOAP和REST方式
- 二维数组中查找一个数
- POJ 3349 Snowflake Snow Snowflakes
- LeetCode 15: 3Sum
- wikioi p1079 回家