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 线段树点修改
先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...
随机推荐
- Adventure Works 教程
多维建模(Adventure Works 教程) 欢迎使用 Analysis Services 教程. 本教程通过在所有示例中使用虚构公司 Adventure Works Cycles,说明如 ...
- Eigen::aligned_allocator
http://blog.csdn.net/rs_huangzs/article/details/50574141
- 【Linux学习】Linux系统管理1—进程管理
Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...
- APOSE.Cell导入图片
一:读取EXcel单元格图片 1:读取全部单元格的图片集合 worksheet.pictureCollotion 2:遍历pictureCollotion (foreach (var pic ...
- 20个Flutter实例视频教程-第13节: 展开闭合案例
20个Flutter实例视频教程-第13节: 展开闭合案例 视频地址: https://www.bilibili.com/video/av39709290/?p=13 博客地址: https://js ...
- swift日期操作
简介:本文将介绍一些关于swift中对于日期的格式化与获取,支持swift4.0 extension Date { //格式化日期 func getDateString() -> String{ ...
- HDU - 1071 - The area - 高斯约旦消元法 - 自适应辛普森法积分
http://acm.hdu.edu.cn/showproblem.php?pid=1071 解一个给定三个点的坐标二次函数某区域的积分值. 设出方程之后高斯消元得到二次函数.然后再消元得到直线. 两 ...
- 萌新笔记之堆(heap)
前言(萌新感想): 以前用STL的queue啊stack啊priority_queue啊,一直很想懂原理,现在终于课上到了priority_queue,还有就是下周期中考,哈哈,所以写几篇blog总结 ...
- unity3d项目文件目录发布后,对应的ios/android应用目录
Unity3d的Resource.AssetBundle与手游动态更新的报告,在这里分享一下,希望能够对各位用Unity的朋友有些许帮助.目录:1.Unity的资源数据加载2.Resource.Str ...
- [Xcode 实际操作]九、实用进阶-(12)从系统相册中读取图片
目录:[Swift]Xcode实际操作 本文将演示从系统相册中读取图片. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //添加两个协议 ...