hdu 3631
最短路 执行一遍 Floyd算法 比赛的时候没有想到, 用了优化的Dijkstra 超时到死
#include <cstdio>
#include <cstring>
#include <algorithm>
#define INF 1000000000
using namespace std;
int g[310][310];
bool flag[310];
int main()
{
// freopen("d:/in.txt", "r", stdin);
int n, m, k, ca = 1;
while (scanf("%d%d%d", &n, &m, &k) == 3 && n + m + k)
{
if (ca > 1)
puts("");
printf("Case %d:\n", ca++);
memset(flag, false, sizeof(flag));
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (i == j) g[i][j] = 0;
else g[i][j] = INF;
for (int i = 0; i < m; i++)
{
int u, v, w;
scanf("%d%d%d", &u, &v, &w);
if (g[u][v] > w)
g[u][v] = w;
}
for (int i = 0; i < k; i++)
{
int c;
scanf("%d", &c);
if (c)
{
int u, v;
scanf("%d%d", &u, &v);
if (!flag[u] || !flag[v])
printf("ERROR! At path %d to %d\n", u, v);
else if (g[u][v] == INF)
puts("No such path");
else
printf("%d\n", g[u][v]);
}
else
{
int u;
scanf("%d", &u);
if (flag[u])
printf("ERROR! At point %d\n", u);
else
{
flag[u] = true;
for (int j = 0; j < n; j++)
for (int o = 0; o < n; o++)
g[j][o] = min(g[j][o], g[j][u] + g[u][o]);
}
}
}
}
}
hdu 3631的更多相关文章
- hdu 3631 Shortest Path(Floyd)
题目链接:pid=3631" style="font-size:18px">http://acm.hdu.edu.cn/showproblem.php?pid=36 ...
- hdu 3631 Shortest Path
floyd算法好像很奇妙的样子.可以做到每次加入一个点再以这个点为中间点去更新最短路,效率是n*n. #include<cstdio> #include<cstring> #i ...
- HDU - 3631 Shortest Path(Floyd最短路)
Shortest Path Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u SubmitStat ...
- [图论]Floyd 算法小结
Floyd 算法小结 By Wine93 2013.11 1. Floyd算法简介 Floyd算法利用动态规划思想可以求出任意2点间的最短路径,时间复杂度为O(n^3),对于稠密图, 效率要高于执行 ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- hdu图论题目分类
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- HDU图论题单
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
随机推荐
- 【转】C# 后台开启 cmd执行命令
private void RunCmd(string cmd) { System.Diagnostics.Process p = new System.Diagnostics. ...
- OC3_dealloc
// // Dog.h // OC3_dealloc // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangxue ...
- dorado7 重装了tomcat后配置路径
在Windows->Preferences->Server->Runtime Environments把先前的工程Servers删除掉
- nginx编译
先下载openssl.pcre.zlib安装:然后找个上传模块nginx-upload-module-2.2添加到nginx上. root@liuhan888:~# mkdir nginxroot@l ...
- main与进程 线程
你起一个CS游戏,这上CS游戏在操作系统中就是一个进程. 但是这个游戏一边在打枪,一边人在走动,一边还有音乐 ,打枪 , 走动 , 音乐 等都是一些线程. 线程不是由进程决定了. 也就是说:你在操作系 ...
- LINQ中实现 In 与 Not In
T-SQL的IN: Select ProductID, ProductName, CategoryID From dbo.Products , ) T-SQL的NOT IN: Select Produ ...
- linux 运维知识体系
这里将会介绍一下,LINUX运维工程师的知识体系. 只能说是个人理解吧.并不是必要或者充分的,仅供网友参考. 大部分本博客都有涉及,并不完整. 1.LINUX运维基础 1.1.LINUX系统的简介,分 ...
- [转]PHP5.5安装PHPRedis扩展
phpredis是个人觉得最好的一个php-redis客户端,因为其提供的function与redis的命令基本一致,降低的了学习成本,同时功能也很全面. 一.linux安装方法 phpredis下载 ...
- [DevExpress]设置RepositoryItemComboBox只可下拉选择不可编辑
将TextEditStyle属性设置如下即可: 希望有所帮助!
- Java Thread and runnable
java中可有两种方式实现多线程, 一种是继承Thread类,(Thread本身实现了Runnable接口,就是说需要写void run 方法,来执行相关操作) 一种是实现Runnable接口 sta ...