WA求调

AT_abc277_e [ABC277E] Crystal Switches

因为开了 `long long` ```cpp #include<bits/stdc++.h> #define int long long using namespace std; int n,m,k,inf; int dis[400031]; struct EdgeInfo{ int to,w; }; struct NodeMessage{ int pos,tme; friend bool operator < (NodeMessage a,NodeMessage b){ return a.tme>b.tme; } }; vector<EdgeInfo> G[800031]; void dijkstra(){ memset(dis,127,sizeof(dis)); inf=dis[0]; // 记录一下 priority_queue<NodeMessage> pq; pq.push({1,0}); while(!pq.empty()){ int npos=pq.top().pos,ntme=pq.top().tme; pq.pop(); if(ntme>dis[npos]) continue; dis[npos]=ntme; //if(vis[now.pos]) continue; vis[now.pos]=1; for(EdgeInfo &i:G[npos]) if(dis[i.to]>ntme+i.w) pq.push({i.to,ntme+i.w}); } } signed main(){ cin>>n>>m>>k; for(int i=1,u,v,w;i<=m;i++){ cin>>u>>v>>w; if(w==1) G[u].push_back({v,1}),G[v].push_back({u,1}); else G[u+n].push_back({v+n,1}),G[v+n].push_back({u+n,1}); } for(int i=1,x;i<=k;i++){ cin>>x; G[x].push_back({x+n,0}),G[x+n].push_back({x,0}); } dijkstra(); int ans=min(dis[n],dis[n+n]); if(ans==inf) cout<<-1; else cout<<ans; return 0; } ```
by InversionShadow @ 2023-09-29 11:05:20


`long long` 占 $8$ 字节,所以他初始化的值应该是 `0x3f3f3f3f3f3f3f3f`
by jqQt0220 @ 2023-09-29 11:07:54


@[ydq1101](/user/672281) @[jqQt0220](/user/678175) 明白了 /bx/bx
by foryou_ @ 2023-09-29 11:09:51


|