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 ...
随机推荐
- BZOJ 1150--数据备份(链表&堆&贪心)
1150: [CTSC2007]数据备份Backup Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2572 Solved: 1038[Submit ...
- k_means算法的C++实现
首先画出k_means算法的流程图:
- Vim 中的持久撤消
Vim中的持久撤消 阅读文本大约需要俩分钟. 在 Vim 中像其他文本编辑器一样,你可以在当前会话中执行 "撤销/重做" .当一旦会话关闭,则你需要重新打开一个新文章,运行撤销将不 ...
- 42.oracle物化视图
写在前面 先大概列一下数据库表设计的常规流程.方案.要遵循的规则 根据业务切分设计表 逻辑分层(数据库分层) 数据库结构设计与拆分:水平拆分(mysql分片)oracle分区物化视图中间表设计方案 优 ...
- 什么是马拉车算法(Manacher's Algorithm)?
提出问题 最长回文子串问题:给定一个字符串,求它的最长回文子串长度. 如果一个字符串正着读和反着读是一样的,那它就是回文串.如a.aa.aba.abba等. 暴力解法 简单粗暴:找到字符串的所有子串, ...
- Flowportal-BPM——环境配置
环境配置: 一.控制面板→程序和功能→打开或不关闭Window功能→选择选项 二.控制面板→管理工具→Internet信息服务(IIS)管理器→左侧第一个→ISAPI和CGI限制→全部选为[允许] 三 ...
- 蓝桥杯-学霸的迷宫(BFS+记录操作)
算法提高 学霸的迷宫 时间限制:1.0s 内存限制:256.0MB 问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡 ...
- Java并发编程——阻塞队列BlockingQueue
Java 并发编程系列文章 Java 并发基础——线程安全性 Java 并发编程——Callable+Future+FutureTask java 并发编程——Thread 源码重新学习 java并发 ...
- 模块和处理程序之通过HttpModule和HttpHandler拦截入站HTTP请求执行指定托管代码模块
1.简介 大多数情况下,作为一个asp.net web开发对整个web应用程序的控制是十分有限的,我们的控制往往只能做到对应用程序(高层面)的基本控制.但是,很多时候,我们需要能够低级层面进行交互,例 ...
- Java简单聊天室
实现Java简单的聊天室 所用主要知识:多线程+网络编程 效果如下图 /** * * @author Administrator * * 简单的多人聊天系统——重点:同时性,异步性 * 1.客户端:发 ...