HDU 1596 最短路变形
这道题怎么都是TLE,报警了,先放在这
http://acm.hdu.edu.cn/showproblem.php?pid=1596
#include <iostream>
#include <iomanip>
using namespace std; #define MAXVEX 1001 double matrix[MAXVEX][MAXVEX];
double D[MAXVEX]; int n; void Dijkstral(int v0)
{
int v,w,k=;
double max;
int final[MAXVEX]; for(int i = ;i<=n;i++)
{
D[i] = matrix[v0][i];
final[i] = ;
} final[v0] = ; for(v=;v<=n;v++)
{
max = -;
for(w=;w<=n;w++)
{
if(D[w]>max && !final[w])
{
max = D[w];
k = w;
}
} final[k] = ; for(w=;w<=n;w++)
{
if(max*matrix[k][w]>D[w] && !final[w])
{
D[w]=max*matrix[v][w];
}
}
} } int main()
{
while(cin>>n)
{
for(int i = ;i<=n;i++)
{
for(int j = ;j<=n;j++)
cin>>matrix[i][j];
} int m;
cin>>m;
while(m--)
{
int a,b;
cin>>a>>b; Dijkstral(a); if(D[b])
cout<<fixed<<setprecision()<<D[b]<<endl;
else
cout<<"What a pity!\n";
}
}
return ;
}
ac了,1482MS
#include <cstdio>
using namespace std;
const int L = ;
const int INF = <<; double map[L][L];
int vis[L];
double dis[L]; int n,m; void Dijkstra(int s)
{
int i,j,k;
double max;
for(i = ;i<=n;i++)
{
dis[i] = map[s][i];
vis[i] = ;
} vis[s] = ;
dis[s] = ; for(i = ;i<=n;i++)
{
max = ;
for(j = ;j<=n;j++)
{
if(dis[j]>max && !vis[j])
{
k = j;
max = dis[j];
}
} vis[k] = ; for(j = ;j<=n;j++)
{
if(dis[j] < max*map[k][j] && !vis[j])
{
dis[j] = max*map[k][j];
}
}
}
} void init()
{
int i,j;
for(i = ;i<=n;i++)
{ for(j = ;j<=n;j++)
{
scanf("%lf",&map[i][j]);
}
}
} int main()
{
while(scanf("%d",&n)!=EOF)
{
int r,t; init(); scanf("%d",&r);
while(r--)
{
int a,b;
scanf("%d%d",&a,&b);
Dijkstra(a);
if(dis[b])
printf("%.3lf\n",dis[b]);
else
printf("What a pity!\n");
} } return ;
}
HDU 1596 最短路变形的更多相关文章
- hdu 1596(Floyd 变形)
http://acm.hdu.edu.cn/showproblem.php?pid=1596 find the safest road Time Limit: 10000/5000 MS (Java/ ...
- hdu 3986(最短路变形好题)
Harry Potter and the Final Battle Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65536/6553 ...
- hdu 1595(最短路变形好题)
find the longest of the shortest Time Limit: 1000/5000 MS (Java/Others) Memory Limit: 32768/32768 ...
- HDOJ find the safest road 1596【最短路变形】
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- hdu 1596 find the safest road (变形SP && dij+heap)
Problem - 1596 变形最短路问题,给出邻接矩阵,要求求出给定点对间安全率最大值. 这题可以用dijkstra+heap来做.对于每一个查询,做一次dij即可. 代码如下: #include ...
- 最短路变形题目 HDU多校7
Mr.Quin love fishes so much and Mr.Quin’s city has a nautical system,consisiting of N ports and M sh ...
- HDU.1596 find the safest road (Floyd)
HDU.1596 find the safest road (Floyd) 题意分析 与普通的最短路不太相同,本题有些许的变化. 1. 要找到由i到j最安全的路,故在求解的时候要保证mp[i][j]尽 ...
- ACM: HDU 2544 最短路-Dijkstra算法
HDU 2544最短路 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
随机推荐
- 《快学Scala》第三章 数组相关操作
- Linux命令行测试网速speedtest.net
Linux命令行测试网速speedtest.net 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带 ...
- 数学规划求解器lp_solve超详细教程
前言 最近小编学了运筹学中的单纯形法.于是,很快便按奈不住跳动的心.这不得不让我拿起纸和笔思考着,一个至关重要的问题:如何用单纯形法装一个完备的13? 恰巧,在我坐在图书馆陷入沉思的时候,一位漂亮的小 ...
- python有哪些比较隐藏的知识点?
一.复用小整数以及小字符串 在Python语言中,设计者在优化Python语言时,为了提高Python的运行效率,所以就将一些小整数保存在系统表,没有释放回收(正常情况下,当Python中一个对象没有 ...
- XMPPFramework核心类介绍
XMPPFramework结构 在进入下一步之前,先给大家讲讲XMPPFramework的目录结构,以便新手们更容易读懂文章.我们来看看下图: 虽然这里有很多个目录,但是我们在开发中基本只关心Core ...
- Java操作数据库实现"增删改查"
本文主要讲解JDBC操作数据库 主要实现对MySql数据库的"增删改查" 综合概述: JDBC的常用类和接口 一 DriverManager类 DriverManage类 ...
- Mybatis中的@Param注解
前言 今天在使用Mybatis时遇到一个问题,主要出错原因在于Mybatis的@Param注解,如果我不在参数前面加上@Param注解,数据库操作就会报错,如下: @Param作用 @Param注解的 ...
- 树形DP学习笔记
树形DP 入门模板题 poj P2342 大意就是一群职员之间有上下级关系,每个职员有一个快乐值,但是只有在他的直接上级不在场的情况下才会快乐.求举行一场聚会的快乐值之和的最大值. 求解 声明一个数组 ...
- windows phpinfo上不能找到memcache扩展 php版本5.6
我的memcache用的我是memcached-win64-1.4.4-14.zip这个版本memcache扩展库下载地址:http://windows.php.net/downloads/pecl/ ...
- 03-树3 Tree Traversals Again (25 分)
An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...