Submission #144041

#TimeUsernameProblemLanguageResultExecution timeMemory
144041neki007 (CEOI14_007)C++14
0 / 100
323 ms23800 KiB
#include <bits/stdc++.h> #define loop(i, a, b) for(int i=a;i<b;i++) #define maxn 201000 using namespace std; typedef long long ll; vector<int> edges[maxn]; int main(){ int n, m, p0, pdr, s1, s2, a, b;cin >>n>> m>> p0>> pdr>> s1>> s2; loop(i, 0, m) scanf("%d%d", &a, &b), edges[a].push_back(b), edges[b].push_back(a); int ddr[maxn], d0[maxn];memset(d0, -1, sizeof(d0));memset(ddr, -1, sizeof(ddr)); d0[p0]=0;ddr[pdr]=0; queue<int> q; q.push(p0); while(q.size()){ int u=q.front(); q.pop(); for(auto&& v:edges[u]) if(d0[v]==-1) q.push(v), d0[v]=d0[u]+1; } q.push(pdr); while(q.size()){ int u=q.front(); q.pop(); for(auto&& v:edges[u]) if(ddr[v]==-1) q.push(v), ddr[v]=ddr[u]+1; } if(ddr[s1]<ddr[s2]) cout <<max(ddr[s1]-d0[s1], -1); else cout <<max(ddr[s2]-d0[s2], -1); }

Compilation message (stderr)

007.cpp: In function 'int main()':
007.cpp:11:63: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     loop(i, 0, m) scanf("%d%d", &a, &b), edges[a].push_back(b), edges[b].push_back(a);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...