hdu 1596
来源:互联网 发布:随便桌面软件下载 编辑:程序博客网 时间:2024/05/16 02:00
OJ
#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <vector>#include <map>#include <set>#include <string>#include <cstring>#include <list>#include <queue>#include <stack>#include <cmath>using namespace std;#define PF(x) (scanf("%d",&x))#define PT(x,y) (scanf("%d%d",&x,&y))#define PR(x) (printf("%d\n",x))#define PRT(x,y)(printf("%d %d\n",x,y))#define PB(x)(scanf("%I64d",&x))#define PRB(x)(printf("%I64d\n",(x)))typedef __int64 LL;#define N 1005#define M 105#define Mod 1000#define Inf 0x7fffffint n;double maps[N][N];double mins;double dist[N];int is[N];double solve(int s,int t){int cur = s;memset(is,0,sizeof(is));for(int i=0;i<n;i++)dist[i] = 0; dist[s] = 1; is[s] = 1; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) {if(dist[j]< dist[cur]*maps[cur][j] && !is[j])dist[j] = dist[cur]*maps[cur][j]; } double ma = -1; int index = -1; for(int j=0;j<n;j++) { if(dist[j]>ma && !is[j]) { ma = dist[j]; index = j; } } if(index == -1) return 0; is[index] = 1; if(index == t) return dist[index]; cur = index; } return 0;}void init(){ while(scanf("%d",&n)==1){for(int i=0;i<n;i++)for(int j=0;j<n;j++){scanf("%lf",&maps[i][j]);}int q;PF(q);while(q--){int s,t;PT(s,t);s--,t--;double mins = solve(s,t);if(mins !=0)printf("%.3lf\n",mins);else puts("What a pity!");}}return ;}int main(){init();return 0;}
- hdu 1596
- hdu 1596
- HDU 1596
- HDU 1596
- HDU 1596
- hdu 1596
- HDU 1596
- HDU 1596
- hdu 1596(SPFA)
- HDU-1596 FLOYD
- hdu 1596最短路
- hdu 1596 floyd算法
- HDU 1596 单源最短路径
- hdu(1596)
- hdu 1596 floyd
- HDU 1596 最短路
- hdu 1596 floyd
- hdu
- 注解的学习和使用
- 今天对着书搞了下JAVA(哈希表)。。。小有收获O(∩_∩)O~~
- 安卓的自动化测试
- android学汇资料总整理
- C#托盘图标
- hdu 1596
- Androidpn里的Xmpp的理解
- RHEL5安装Centos 5 yum方法
- QT的TCP网络编程
- Android+NDK 入门备忘 ubuntu 11.10
- Nutch 2.0 之 抓取流程简单分析
- 用VC6.0编译驱动程序的工程设置方法
- android中实现消息推送
- XML解析详解