codevs 5462 HYY迎亲I
HYY要娶山那头的JCH,可毕竟是山路,十分崎岖,他又十分的单(bai)纯(chi),为了帮他娶到JCH,他请聪明的你帮他。
HYY到JCH之间有n个地点(包括起点(1)和终点(n)),m条路,每个地点之间可能有路连接,也可能没有。
每个地点有一个黑心商家,只要你来了这,就要给过路费(什么鬼故事~~)。
设每个地点的过路费相同。给你n和m,以及每条路的两段的地点,请你求出HYY最少要经过几个地点,让他花最少的钱到达JCH的家(毕竟迎亲花了HYY很多钱嘛)。(此题我在洛谷上发了比赛)
第一行为两个整数,n和m
以下2到m+1行,为一条路连接的两个地点(无向)
一个整数,求出HYY最少经过几个地点(包括起点和终点)
如果没有通路,输出-1
4 3
1 2
2 3
2 4
3
(1-2-4)
n<=200,m<=n*n
in文件随机:
var
n,k,i,x,y:longint;
f:array[1..200,1..200]of longint;
begin
readln(n,k);
writeln(n,' ',k);
randomize;
for i:=1 to k do
begin
repeat
x:=random(n)+1;
if i=1 then x:=1;
y:=random(n)+1;
if i=k then y:=n;
if (x<>n)and(x<y)and(f[x,y]=0) then writeln(x,' ',y);
until (x<>n)and(x<y)and(f[x,y]=0);
f[x,y]:=1;
end;
end.
floyd记录路径 丫的我竟然打了近一小时 QAQ
学习自这位oier(点击传送)
#include<cstdio>
#include<iostream> using namespace std; int N;
int map[][],b[],path[][];
void init()
{
int i,j;
for(i=;i<=N;i++)
{
for(j=;j<=N;j++)
{
map[i][j]=;
path[i][j]=j;
}
}
}
void floyd()
{
int i,j,k;
for(k=;k<=N;k++)
{
for(i=;i<=N;i++)
{
for(j=;j<=N;j++)
{
if(map[i][j]>map[i][k]+map[k][j])
{
map[i][j]=map[i][k]+map[k][j];
path[i][j]=path[i][k];
}
}
}
}
}
int main()
{
int m,len;
cin>>N>>m;
init();
while(m--)
{
int a,b;
scanf("%d%d",&a,&b);
map[a][b]=map[b][a]=;
}
floyd();
if(map[][N]>=)
{
cout<<"-1";
return ;
}
int u=,v=N;
int tmp=u,ans=;
while(tmp!=v)
{
ans++;
tmp=path[tmp][v];
}
cout<<ans;
return ;
}
codevs 5462 HYY迎亲I的更多相关文章
- MYSQL总览
第一,二,三范式解决的是非主属性的关系.BC 范式解决的是主属性的关系:第二范式:就是完全依赖,没有部分依赖([id,b]->c 即不能c即依赖id又依赖b):[非主属性不能依赖于主键的一部分, ...
- 四探循环依赖 → 当循环依赖遇上 BeanPostProcessor,爱情可能就产生了!
开心一刻 那天知道她结婚了,我整整一个晚上没睡觉,开了三百公里的车来到她家楼下,缓缓的抽了一支烟...... 天渐渐凉了,响起了鞭炮声,迎亲车队到了,那天披着婚纱的她很美,真的很美! 我跟着迎亲车队开 ...
- codevs 3249 搭积木
提交地址:http://codevs.cn/problem/3249/ 3249 搭积木 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目 ...
- nginx代理https站点(亲测)
nginx代理https站点(亲测) 首先,我相信大家已经搞定了nginx正常代理http站点的方法,下面重点介绍代理https站点的配置方法,以及注意事项,因为目前大部分站点有转换https的需要所 ...
- codevs 3289 花匠
题目:codevs 3289 花匠 链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长"波浪"子序列.用动态规划可 ...
- codevs 1082 线段树练习 3(区间维护)
codevs 1082 线段树练习 3 时间限制: 3 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 给你N个数,有两种操作: 1:给区 ...
- codevs 1285 二叉查找树STL基本用法
C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...
- codevs 1576 最长上升子序列的线段树优化
题目:codevs 1576 最长严格上升子序列 链接:http://codevs.cn/problem/1576/ 优化的地方是 1到i-1 中最大的 f[j]值,并且A[j]<A[i] .根 ...
- codevs 1080 线段树点修改
先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...
随机推荐
- virtualBox中的centOS虚拟机硬盘扩容
1. 在virtualBox中给虚拟机添加虚拟硬盘 此时. 已经将yanwu_disk1.vdi 虚拟硬盘添加到了虚拟机中, 接下来就是进行硬盘的挂载 https://www.cnblogs.com/ ...
- D - Opponents
Description Arya has n opponents in the school. Each day he will fight with all opponents who are pr ...
- tomcat+mysql+javaweb+docker
1.安装好docker 2.docker pull tomcat docker pull mysql 3.docker run -it -p 8080:8080 --rm tomcat:7.0 #-i ...
- c++中虚函数与纯虚函数的区别(转)
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数.定义他为虚函数是为了允许用基类的指针来调用子类的这个函数.定义一个函数为纯虚函数,才代表函数没有被实现.定义纯虚函数是为了实现一个接 ...
- Fitnesse 访问日志配置
1. 在build.xml中修改Finesse运行时的参数 <target name="run" depends="compile, compile-bootstr ...
- 检测到"_ITERATOR_DEBUG_LEVEL"的不匹配项
error: vtkCommon.lib(vtkSmartPointerBase.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项:值“0”不 ...
- P4091 [HEOI2016/TJOI2016]求和(第二类斯特林数+NTT)
传送门 首先,因为在\(j>i\)的时候有\(S(i,j)=0\),所以原式可以写成\[Ans=\sum_{i=0}^n\sum_{j=0}^nS(i,j)\times 2^j\times j! ...
- GenericKeychain
KeychainItemWrapper是apple官方例子“GenericKeychain”里一个访问keychain常用操作的封装类,在官网上 下载了GenericKeychain项目后,只需要把“ ...
- hyperledger fabric 1.0.5 分布式部署 (一)
环境是个人虚拟机ubuntu 16.04 64 位版本 前期用户需要先安装好:gcc.g++.git 软件 安装 golang 首先给环境安装一个 go 语言环境,版本最好在1.8 以上 golang ...
- android webview.goback 问题
重写 shouldOverrideUrlLoading 不需要实现 view.loadUrl(url);直接return false;即可 如果实现了,则使用window.location.repla ...