P2296 尋找道路

2021-08-29 18:41:56 字數 671 閱讀 5414

反著建圖,從點

**:

#include#include#include#define ri register int

using namespace std;

const int maxn=200020,inf=1310668019;

int n,m,s,t,u[maxn],v[maxn],w[maxn],fst[maxn],nxt[maxn],infst[maxn],innxt[maxn],book[maxn],had[maxn],used[maxn],dis[maxn];

inline int read()

void dijkstra()

); while(!q.empty())

); }

} }}void dfs(int x)

int main()

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

book[t]=1;dfs(t);

for(ri i=1;i<=n;i++) book[i]=0;

for(ri i=1;i<=n;i++)

if(f) used[i]=1;

} dijkstra();

if(dis[t]==inf) cout<

if(dis[t]

return 0;

}

P2296 尋找道路

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

P2296 尋找道路

洛谷鏈結 這個題是14年day2的第二題,也只有普及 提高的難度。題目大意就是在一堆滿足所有後繼連線的點都可以到達終點的點中,找到最短路徑。思路就是先一邊dfs,求出滿足條件1的點,之後spfa就好了,其實用bfs會更快一點。1 include2 include3 define n 10010 4 ...

P2296 尋找道路

題目鏈結啦啦啦 首先將邊反向建立,然後bfs求出答案 1 include2 using namespace std 3int read 47 while c 0 c 9 8return x y 9 10int n,m 11 vectorv 10005 12 bool cando 10005 er 1...