HDOJ--1596--find the safest road
find the safest road
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9438 Accepted Submission(s): 3338
第一行:n。n表示城市的个数n<=1000;
接着是一个n*n的矩阵表示两个城市之间的安全系数,(0可以理解为那两个城市之间没有直接的通道)
接着是Q个8600要旅游的路线,每行有两个数字,表示8600所在的城市和要去的城市
其他的输出这两个城市之间的最安全道路的安全系数,保留三位小数。
#include<stdio.h>
#include<string.h>
#include<queue>
#define INF 0x3f3f3f3f
#define M 1001*1001
#define N 1001
using namespace std;
int vis[N],head[N],n,m,edgenum;
double dis[N];
struct node{int from,to;double cost;int next;
}edge[M];
void init(){edgenum=0;memset(head,-1,sizeof(head));
}
void add(int u,int v,double w){node E={u,v,w,head[u]};edge[edgenum]=E;head[u]=edgenum++;
}
void spfa(int beg){queue<int>q;int i;for(i=1;i<=1000;i++)//因为求的是概率最大的所以初始化为0; dis[i]=0;memset(vis,0,sizeof(vis));dis[beg]=1;//自己到自身的安全系数是1; vis[beg]=1;q.push(beg);while(!q.empty()){int u=q.front();q.pop();vis[u]=0;for(i=head[u];i!=-1;i=edge[i].next){int v=edge[i].to;if(dis[v]<dis[u]*edge[i].cost){//题意要求是求安全系数最大的。满足条件就更新。 dis[v]=dis[u]*edge[i].cost;if(!vis[v]){vis[v]=1;q.push(v);}}}}
}
int main(){while(scanf("%d",&n)!=EOF){init();int i,j;for(i=1;i<=n;i++)for(j=1;j<=n;j++){double cost;scanf("%lf",&cost);if(cost==0)continue;add(i,j,cost);}int num;scanf("%d",&num);while(num--){int a,b;scanf("%d%d",&a,&b);spfa(a);if(dis[b]==0)printf("What a pity!\n");elseprintf("%.3lf\n",dis[b]);}}return 0;
}
HDOJ--1596--find the safest road相关推荐
- 杭电1596 find the safest road
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- hdu 1596 find the safest road(Dijkstra)
Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条 ...
- HDU 1596 find the safest road (Floyd)
题目链接 本来对弗洛伊德很没信心,1000个城市,还好,还是过了,最裸的有4000+ms,因为是无向图加了下优化,3000+ms,这个.... #include <stdio.h> #in ...
- 杭电1596find the safest road(spfa)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- 杭电1596find the safest road
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- find the safest road——最短路
find the safest road Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 ...
- HDU1596 find the safest road(最短路变形,Dijkstra)
题目: find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- hdu1596 find the safest road(dijkstra求最短路)
find the safest road Time ...
- HDU1596find the safest road(floyd)
题目链接 find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- Find the safest road(HDU-1596)
Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条 ...
最新文章
- ZBrush中如何做不同图案的遮罩
- 计算字符串相似度算法—Levenshtein
- php内核分析-fpm和df的问题思考
- TDSQL 全时态数据库系统-理念与愿景
- 通用无线设备对码软件_电动车上的无线电池管理系统wBMS
- ASP.NET Core IP 请求频率限制
- 数据湖 多维数据集_按汇总分组/多维数据集
- 笔记本电脑如何保养_电脑温度一高就“翻脸”,电脑小白该如何解决?学会少花冤枉钱...
- 前端开发者必会的英语单词
- 【数据分析实战】北京租房数据统计分析
- Contest2609 - 高级语言程序实践--第8次作业--计信A2107-2113
- 黄教头第六周作业 一个基础的反射型xss
- 大趋势:科技赋能产业
- Anthony_tester(博客链接)
- 以色列量子计算软件公司,与欧洲机构合作开发薛定谔猫状态纠错技术
- Windows下运行XServer,XServer和XClient
- h3c 模拟器 HCL 2.1.2 win10安装,vbox hyper-v vmware 兼容
- hive常用函数之七字符串函数
- NIST PQC候选方案 SIKE 以及 Rainbow签名 破解
- 你想要知道的Python日期格式化知识都在这