洛谷P2296 NOIP2014 尋找道路

2022-05-05 21:24:10 字數 999 閱讀 3450

尋找道路

題目鏈結

這道題非常的水,按照題意,

先反向建邊,從終點搜尋,標記出可以到達終點的點

然後列舉一遍,判斷出符合條件1的點

再從起點搜尋一遍就可以了

1 #include2 #include3 #include4

using

namespace

std;

5#define n 10010

6#define m 200010

7int

n,m,head[n],_head[n],dis[n],tot,s,t;

8int

que[m],head,tail;

9bool

vis[n],ok[n];

10 inline int

read()

14return

x;15}16

struct

node e[m],_e[m];

19 inline void add(int x,int

y)27

intmain()

2835 s=read(); t=read();

36 que[++tail]=t; vis[t]=1;37

while(head46}

47for(int i=1;i<=n;i++)

53 ok[i]=flag;54}

55 head=tail=0

;56 que[++tail]=s;

57 dis[s]=1;58

while(head68}

69if

(dis[t])

70 printf("

%d\n

",dis[t]-1

);71

else

72 puts("-1"

);73

return0;

74 }

洛谷P2296 尋找道路 NOIP 2014

題目描述 這道題有個坑,雖然沒掉進去,但是沒跨過去 坑is here路徑上的所有點的出邊所指向的點都直接或間接與終點連通。所以就需要建反圖 來刪去一些沒用的點 從終點倒著找 搜尋不到的點就刪去 與這些點直接相連的點也刪去 要注意做標記的時候 要用乙個新的陣列 以防其他的被改變 還有就是陣列模擬鄰接表...

洛谷P2296 尋找道路

在有向圖g 中,每條邊的長度均為1 現給定起點和終點,請你在圖中找一條從起點到終點的路徑,該路徑滿足以下條件 1 路徑上的所有點的出邊所指向的點都直接或間接與終點連通。2 在滿足條件1 的情況下使路徑最短。注意 圖g 中可能存在重邊和自環,題目保證終點沒有出邊。請你輸出符合條件的路徑的長度。輸入格式...

洛谷 P2296 尋找道路

題目描述 在有向圖g 中,每條邊的長度均為1 現給定起點和終點,請你在圖中找一條從起點到終點的路徑,該路徑滿足以下條件 1 路徑上的所有點的出邊所指向的點都直接或間接與終點連通。2 在滿足條件1 的情況下使路徑最短。注意 圖g 中可能存在重邊和自環,題目保證終點沒有出邊。請你輸出符合條件的路徑的長度...