find the safest road

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9368    Accepted Submission(s): 3308

Problem Description
XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条从u 到 v 的通道P 的安全度为Safe(P) = s(e1)*s(e2)…*s(ek) e1,e2,ek是P 上的边 ,现在8600 想出去旅游,面对这这么多的路,他想找一条最安全的路。但是8600 的数学不好,想请你帮忙 ^_^
Input
输入包括多个测试实例,每个实例包括:
第一行:n。n表示城市的个数n<=1000;
接着是一个n*n的矩阵表示两个城市之间的安全系数,(0可以理解为那两个城市之间没有直接的通道)
接着是Q个8600要旅游的路线,每行有两个数字,表示8600所在的城市和要去的城市
Output
如果86无法达到他的目的地,输出"What a pity!",
其他的输出这两个城市之间的最安全道路的安全系数,保留三位小数。
Sample Input
3 1 0.5 0.5 0.5 1 0.4 0.5 0.4 1 3 1 2 2 3 1 3
Sample Output
0.500 0.400 0.500
Author
ailyanlu
同一道题写两遍,每次都有新感觉:
附ac代码:
#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
#define N 0x3f3f3f
using namespace std;
struct node
{int u,v;double w,next;
}t[1001000];
int vis[10100],head[1001000],m,n;
double dis[10010];
void spfa(int v,int y)
{int i,j,k;memset(vis,0,sizeof(vis));memset(dis,0,sizeof(dis));queue<int>q;vis[v]=1;dis[v]=1;q.push(v);while(!q.empty()){k=q.front();vis[k]=0;q.pop();for(i=head[k];i!=-1;i=t[i].next){int w=t[i].v;if(dis[w]<dis[k]*t[i].w){dis[w]=dis[k]*t[i].w;if(!vis[w]){vis[w]=1;q.push(w); }}}}if(dis[y]!=0)printf("%.3lf\n",dis[y]);elseprintf("What a pity!\n");}
int main()
{int i,j,k,p;double l;while(scanf("%d",&p)!=EOF)//输入一不小心就超时了,一定要按要求的格式输入{memset(head,-1,sizeof(head));int flag=0;for(i=1;i<=p;i++)for(j=1;j<=p;j++){scanf("%lf",&l);t[flag].u=i;t[flag].v=j;t[flag].w=l;t[flag].next=head[i];head[i]=flag++;}int num,x,y;scanf("%d",&num);for(i=0;i<num;i++){scanf("%d%d",&x,&y);spfa(x,y);}}return 0;
}

杭电1596find the safest road(spfa)相关推荐

  1. 杭电1596find the safest road

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  2. 杭电1596 find the safest road

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  3. 杭电2066一个人的旅行(spfa)

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  4. 杭电OJ分类题目(4)-Graph

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(4) HDU Graph Theory - U ...

  5. 杭电OJ分类题目(3)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(3) HDU Computational Ge ...

  6. 杭电 2544 最短路(bellman详解)

    首先介绍一下bellman算法: Bellman-ford算法是求含负权图的单源最短路径算法,效率很低,但代码很容易写.即进行持续地松弛(原文是这么写的,为什么要叫松弛,争议很大),每次松弛把每条边都 ...

  7. 杭电ACM-LCY算法进阶培训班-专题训练15

    杭电ACM-LCY算法进阶培训班-专题训练(03-07-11-15) 1012 最短路 #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofa ...

  8. 2021-06-18杭电ACM-LCY算法进阶培训班-专题训练16

    杭电ACM-LCY算法进阶培训班-专题训练(04-08-12-16) 1009 Intervals #pragma GCC optimize(2) #pragma GCC optimize(3,&qu ...

  9. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

最新文章

  1. select 和 order by
  2. 【Java】Lucene检索引擎详解
  3. Java如何比较两个字符串(对象)是否相等
  4. DM368启动串口打印分析
  5. c语言程序改错类型,C语言程序改错总结
  6. 案例二十、自动化运维-代码上线
  7. Objective C ARC 使用及原理
  8. SSH整合方案二(不带hibernate.cfg.xml)
  9. JAVA中基本类型Boolean占几个字节
  10. ueditor 上传视频丢失src的解决方法
  11. Activiti用户指南之Activiti的API
  12. 在React和Vue中支持服务器端呈现
  13. ArcGIS For Flex学习之Mapping---Map Extent and Mouse Coordinates
  14. 阿里云开源镜像站下载最新Ubuntu和CentOS镜像
  15. apache ab 压测
  16. idea 新建java类 乱码,Intellij IDEA 2019 最新乱码问题及解决必杀技(必看篇)
  17. Java编程思想(一)
  18. 捷径|Instagram去水印教程
  19. 《工业设计史》第七章:艺术变革与现代设计
  20. EndNote常见问题:更改DOI号为超链接/用URL代替DOI号等

热门文章

  1. 【转】qt触摸屏隐藏鼠标指针
  2. 老司机 iOS 周报 #67 | 2019-05-13
  3. 中国大陆物联网驶入快车道 台商抢上车
  4. 13.追我的男生辣么多
  5. 搭建局域网HTTP FTP服务
  6. 分享非常有用的Java程序(关键代码)(七)---抓屏程序
  7. Xml+Xsl:内容与形式的完美分离
  8. Android-opencv之CVCamera (转载)
  9. The operation could not be performed because OLE DB provider SQLNCLI11 for linked server SDSSDFCC...
  10. react 轮播组件