反著建圖,從點
**:
#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...