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 ...
随机推荐
- Create Index using NEST .NET
Hello Guys, I have a doubt about how create index using NEST .NET. I created every fields in my C# m ...
- linux系统解决boot空间不足
有时候更新Linux系统是会碰到boot空间不足的错误,原因基本上是安装时boot空间设置问题可以通过删除旧的内核来释放boot空间. ubuntu: 1.查看当前使用内核版本号 unam ...
- JS设计模式之单体模式(Singleton)
单体模式作为一种软件开发模式在众多面向对象语言中得到了广泛的使用,在javascript中,单体模式也是使用非常广泛的,但是由于javascript语言拥有其独特的面向对象方式,导致其和一些传统面向对 ...
- OI中一些常见实用的套路【更新中】
数据结构 在维护树上路径时,如果只是点的独立的加减,可以考虑用括号序来维护(拆成两部分) 需要求树上很多路径中k近/距离和 一类,考虑点分治/在点分树上解决. 子树求和可以转化为DFS序上区间求和 树 ...
- java并行之parallelStream与CompletableFuture比较
1. import java.util.Arrays; import java.util.List; import java.util.concurrent.CompletableFuture; im ...
- Openerp 修改 tree view 的列宽
在 tree 的后边添加自定义css 列:“my_class" 然后在对应的css文件中,添加样式: 保存,重新刷新页面即可.
- IE8下不识别indexOf的问题
1.为Array原型添加indexOf方法(如果学过面向对象,相当于给Array类添加实例方法),方法体如下: //添加数组IndexOf方法 if (!Array.prototype.indexOf ...
- Google发布移动网站设计原则
Google 刚刚发布了由 Google 与 AnswerLab 联合打造,名为<Principles of Mobile Site Design: Delight Users and Driv ...
- Couchbase进阶-集群与版本升级
最近在负责公司Couchbase版本升级工作,之前只有一台Cache服务器,使用Couchbase Enterprise Edition 1.8,为避免单点故障现在需要新增加一台Cache服务器做负载 ...
- 由UI刷新谈到线程安全和Android单线程模型
1.为什么说invalidate()不能直接在线程中调用? Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在非UI主线程中调用,因为他是违背了单线程模型:A ...