cyh和香穗子
time limit:10000ms memory limit:65536k
total submit:14 accepted:8
description
話說,cyh和香穗子是好朋友,一天他們在fzsz迷路了….cyh在地點1,香穗子在地點n.由於cyh是土生土長的fzsz人,所以cyh準備去n地給香穗子帶路.
fzsz是個奇怪的地方,它由n地點組成,並且任意兩個地點a,b滿足要麼a能到b,要麼b能到a,要麼都不能互相到達,一定不存在a和b都能互相到達.
現在cyh希望快點到達n地
input
第一行兩個數n,m
接下來m行,每行兩個數a,b,表示地點a能達到地點b
output
cyh最少經過的地點數
sample input
4 51 2
2 32 4
1 33 4
sample output
3hint
資料範圍:
n <= 100000,m <= 500000,保正有解
source
noidaokan
演算法:圖論
裸的最短路,我會告訴你說題目要求是有向圖結果我開的無向圖麼……
program p3;
const
maxn=100000;
maxm=1000000;
type
atp=record
y,next,dis:longint;
end;
var n,m,tot,head,tail:longint;
first,v:array [0..maxn] of longint;
b:array [0..maxn] of boolean;
map:array [0..maxm] of atp;
que:array [0..maxm] of longint;
procedure init;
var i,x,y:longint;
begin
readln(n,m);
for i:=1 to m do
begin
readln(x,y);
inc(tot);
map[tot].y:=y;
map[tot].next:=first[x];
map[tot].dis:=1;
first[x]:=tot;
end;
end;
procedure spfa;
var t:longint;
begin
fillchar(v,sizeof(v),100);
head:=0;
tail:=1;
que[1]:=1;
v[1]:=0;
b[1]:=true;
while head0 do
begin
if v[que[head]]+map[t].dis
動態規劃 聰明伶俐的香穗子
problem 4 聰明伶俐的香穗子 香穗子遇到難題了.題目是這樣的,乙個序列上有n個整數,現在你要取m個,且這m個數的任意兩個不能相隔的太近,否則這樣會太醜,現在問你最大能得到多大的和 輸入 第一行三個數n,m,k,分別表示n個數,取m個,且m個中的任意兩個位置差要大於等於k 接下來一行,有n個整...
動規遞推 聰明伶俐的香穗子
聰明伶俐的香穗子 香穗子遇到難題了.題目是這樣的,乙個序列上有n個整數,現在你要取m個,且這m個數的任意兩個不能相隔的太近,否則這樣會太醜,現在問你最大能得到多大的和 輸入 第一行三個數n,m,k,分別表示n個數,取m個,且m個中的任意兩個位置差要大於等於k 接下來一行,有n個整數,表示序列上的每個...
P1732 活蹦亂跳的香穗子
香穗子在田野上調蘑菇 她跳啊跳,發現自己很無聊,於是她想了乙個有趣的事情,每個格仔最多只能經過1次,且每個格仔都有其價值 跳的規則是這樣的,香穗子可以向上下左右四個方向跳到相鄰的格仔,並且她只能往價值更高 這裡是嚴格的大於 的格仔跳.香穗子可以從任意的格仔出發,在任意的格仔結束,那麼她最多能跳幾次?...