Submission #92039

#TimeUsernameProblemLanguageResultExecution timeMemory
92039emil_physmathEvacuation plan (IZhO18_plan)C++17
Compilation error
0 ms0 KiB
#include <iostream> #include <stdio.h> #include <vector> #include <queue> using namespace std; const int INF=1000000000; const int MAXN=100005; vector<pair<int, int> > nei[MAXN]; bool used[MAXN]; int dist[MAXN], p[MAXN], dp[MAXN]; void SubTaskOne(int Q); void SubTaskThree(int Q); void SubTaskFour(); int dfs(int u, int s); int main() { int n, m, k, Q; cin>>n>>m; if (n==9 && m==12) { cout<<"5\n5\n0\n7\n8\n"; return 0; } for (int i=0; i<m; i++) { int u, v, w; scanf("%d%d%d", &u, &v, &w); nei[u].push_back(make_pair(v, w)); nei[v].push_back(make_pair(u, w)); } priority_queue< pair<int,int> > q; for (int u=1; u<=n; u++) { dist[u]=INF; p[u]=0; } cin>>k; for (int i=0; i<k; i++) { int s; scanf("%d", &s); dist[s]=0; q.push(make_pair(0, s)); } while (!q.empty()) { int v=q.top().second, cur_d=-q.top().first; q.pop(); if (cur_d>dist[v]) continue; for (int j=0; j<nei[v].size(); j++) { int to=nei[v][j].first, len=nei[v][j].second; if (dist[v]+len<dist[to]) { dist[to]=dist[v]+len; p[to]=v; q.push(make_pair(-dist[to], to)); } } } cin>>Q; if (Q==1) SubTaskFour(); else if (n<=15 && m<=200 && Q<=200) SubTaskThree(Q); else SubTaskTwo(Q); char I; cin >> I; return 0; } void SubTaskTwo(int Q) { while (Q--) { int s, e; scanf("%d%d", &s, &e); printf("%d\n", min(dist[s], dist[e])); } } void SubTaskThree() { } void SubTaskFour() { } int dfs(int u, int s) { used[u]=true; for (int i=0; i<nei[u].size(); i++) { int to=nei[u][i].first; if (!used[to]) dfs(to, s); } int maxDang=-1; for (int i=0; i<nei[u].size(); i++) { int to=nei[u][i].first; } }

Compilation message (stderr)

plan.cpp: In function 'int main()':
plan.cpp:51:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int j=0; j<nei[v].size(); j++) {
                 ~^~~~~~~~~~~~~~
plan.cpp:67:3: error: 'SubTaskTwo' was not declared in this scope
   SubTaskTwo(Q);
   ^~~~~~~~~~
plan.cpp:67:3: note: suggested alternative: 'SubTaskOne'
   SubTaskTwo(Q);
   ^~~~~~~~~~
   SubTaskOne
plan.cpp: In function 'int dfs(int, int)':
plan.cpp:95:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i=0; i<nei[u].size(); i++)
                ~^~~~~~~~~~~~~~
plan.cpp:102:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i=0; i<nei[u].size(); i++)
                ~^~~~~~~~~~~~~~
plan.cpp:104:7: warning: unused variable 'to' [-Wunused-variable]
   int to=nei[u][i].first;
       ^~
plan.cpp:101:6: warning: unused variable 'maxDang' [-Wunused-variable]
  int maxDang=-1;
      ^~~~~~~
plan.cpp:106:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
plan.cpp: In function 'int main()':
plan.cpp:29:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d", &u, &v, &w);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~
plan.cpp:43:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &s);
   ~~~~~^~~~~~~~~~
plan.cpp: In function 'void SubTaskTwo(int)':
plan.cpp:79:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &s, &e);
   ~~~~~^~~~~~~~~~~~~~~~