hdu 6386 Age of Moyu (重边判断)
生活随笔
收集整理的這篇文章主要介紹了
hdu 6386 Age of Moyu (重边判断)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本來用一個map判重邊結果T了, 實際上可以直接給邊上打標記即可
int n, m; struct _ {int to,w,vis;}; vector<_> g[N]; int dis[N]; queue<int> q;void dfs(int x, int c, int d) {dis[x] = d, q.push(x);for (auto &e:g[x]) if (!e.vis&&e.w==c) { e.vis = 1;if (dis[e.to]>=d) dfs(e.to,c,d);} }void work() {REP(i,1,m) {int u, v, w;scanf("%d%d%d", &u, &v, &w);g[u].pb({v,w,0}),g[v].pb({u,w,0});}q.push(1);dis[1]=0;while (q.size()) {int x = q.front(); q.pop();for (auto &e:g[x]) if (!e.vis) {e.vis = 1;if (dis[e.to]>=dis[x]+1) dfs(e.to,e.w,dis[x]+1);}}printf("%d\n", dis[n]==INF?-1:dis[n]); }int main() {for (; ~scanf("%d%d", &n, &m); ) { REP(i,0,n) g[i].clear(),dis[i]=INF;work();} }?
轉載于:https://www.cnblogs.com/uid001/p/10494827.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的hdu 6386 Age of Moyu (重边判断)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis hash
- 下一篇: 创建git工程