10年山东省赛-E-最短路
题目连接:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2155&cid=1430
题意:输入一个n个节点,m条边的图,然后k条记录,纪录可能为:
0 x:添加上x这个节点;
1 x y :输出从x到y的最短路;
思路:floyd;
使我更加了解了floyd的思想,就是每加入一个点,更新一次最短路。
#include <bits/stdc++.h>
using namespace std;
#define INF 1<<29
#define repu(i,a,b) for(int i=a;i<b;i++)
#define N 500
int vis[N],p[N][N];
int main()
{
int n,m,k,kase = ;
while(scanf("%d%d%d",&m,&n,&k)&&m&&n&&k)
{
printf("Case %d:\n",kase++);
memset(vis,,sizeof(vis));
int u,v,d,a,b,st,ed;
repu(i,,m)
{
repu(j,,m)
p[i][j] = INF;
p[i][i]=;///坑啊,一定得记住啊
}
repu(i,,n)
{
scanf("%d%d%d",&u,&v,&d);
if(p[u][v] > d)
p[u][v] = d;
}
while(k--)
{
scanf("%d",&a);
if(a==)
{
scanf("%d%d",&st,&ed);
if(!vis[st] || !vis[ed])
printf("City %d or %d is not available.\n",st,ed);
else
{
if(p[st][ed] != INF)
printf("%d\n",p[st][ed]);
else
printf("No such path.\n");
}
}
else
{
scanf("%d",&b);
if(vis[b])
printf("City %d is already recaptured.\n",b);
else
{
vis[b] = ;
///更新所有以b为过路点的最小值
repu(i,,m)
repu(q,,m)
p[i][q] = min(p[i][q],p[i][b]+p[b][q]);
}
}
}
printf("\n");
}
return ;
}
10年山东省赛-E-最短路的更多相关文章
- Triangle (第8届山东省赛的某题)
triangle(第8届山东省赛的某题) 传送门 题意:喵了个呜,这题意真是峰回路转啊.懒死了,不想描述. 做法:我们拿set或线段树维护exp的最小值,每次取出exp值最小的边,删除之.并更新这条边 ...
- 2013年山东省赛F题 Mountain Subsequences
2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...
- HEX SDUT 3896 17年山东省赛D题
HEX SDUT 3896 17年山东省赛D题这个题是从矩形的左下角走到右上角的方案数的变形题,看来我对以前做过的题理解还不是太深,或者是忘了.对于这种题目,直接分析它的性质就完事了.从(1,1)走到 ...
- 2018山东省赛sequence
2018山东省赛sequence因为必须要删除一个数,所以可以计算每个数删除的代价,从而选取代价最小的进行删除如果一个数大于它前面的所有数的最小值而小于次小值,删除最小值的代价就要+1:如果一个数本身 ...
- [10.18模拟赛] 序列 (DP)
[10.18模拟赛] 序列 题目描述 山山有一个整数序列s1,s2,-,sn,其中1≤si≤k. 求出有多少个准确移除m个元素后不同的序列.答案模(1e9+7) 输入 输入包括几个测试用例,并且由文件 ...
- [10.12模拟赛] 老大 (二分/树的直径/树形dp)
[10.12模拟赛] 老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图), ...
- 2015沈阳区域赛Meeting(最短路 + 建图)
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- 10年省赛-Greatest Number (二分+暴力) + 12年省赛-Pick apples(DP) + UVA 12325(暴力-2次枚举)
题意:给你n个数,在里面取4个数,可以重复取数,使和不超过M,求能得到的最大的数是多少: 思路:比赛时,和之前的一个题目很像,一直以为是体积为4(最多选择四次)的完全背包,结果并不是,两两求和,然后二 ...
- 13年山东省赛 Boring Counting(离线树状数组or主席树+二分or划分树+二分)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud 2224: Boring Counting Time Limit: 3 Sec ...
随机推荐
- (09)odoo工作流
--------------修订时间14:54 2016-09-18 星期日21:59 2016-06-12 星期日10:06 2016-02-24 星期三17:14 2016-01-29 星期五-- ...
- web基础之Structs(一篇)
为什么有 struts 框架 Struct 的优点之处: 1. struct的好处 2. 程序更加规范化 3. 程序的可读性提 ...
- IntelliJ IDEA 12 与 Tomcat 集成并运行Web项目
配置Tomcat Server 1.Ctrl+Alt+s或者File——>Setting...;选中“Application Servers”点击"+" 创建运行配置 上面的 ...
- 初始jQuery
JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safari 2.0+, Opera ...
- MD4C/CO46/MD04一个很棒的工单缺料分析
大家好~~~ 之前在MD04物料分析的时候,看到有订单预留,双击有个订单报告可以显示一个订单物料是否缺料清单 这个单独的工单分析可以在T-code:MD4C,CO46查看,如果只是单独的使用,那么这两 ...
- 《转》---使用递归方法DataTable 绑定 TreeView
转自:http://blog.sina.com.cn/s/blog_8944756d01016yaj.html 前台: <asp:View ID="view0" runat= ...
- vim 代码
vim函数跳转 时间:2014-05-07 14:02:12 阅读:40 ...
- BZOJ1579 [Usaco2009 Feb]Revamping Trails 道路升级
各种神作不解释QAQQQ 先是写了个作死的spfa本机过了交上去T了... 然后不想写Dijkstra各种自暴自弃... 最后改了一下步骤加了个SLF过了... 首先一个trivial的想法是$dis ...
- DB2存储过程语法规则
如何声明一个存储过程CREATE PROCEDURE 存储过程名(IN 输入变量名 输入变量类型,OUT 输出变量名 输出变量类型)紧跟其后的是存储过程属性列表 常用的有:LAN ...
- 【模板下载】innosetup 制作.net安装包的模板
NetworkComms网络通信框架序言 这个模板是在博客园和CodeProject上的代码修改而成的,感谢原作者 模板是2个 innosetup 制作.net 2.0 安装包的模板 innosetu ...