Submission #733982

#TimeUsernameProblemLanguageResultExecution timeMemory
733982DAleksaSenior Postmen (BOI14_postmen)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; struct edge { int v; int id; }; const int N = 5e5 + 10; vector<edge> g[N]; int n, m; vector<int> eulerian_cycle; bool mark[N]; int cnt[N]; int id = 0; stack<int> stk; void find_eulerian_cycle(int u) { for(edge v : g[u]) { if(mark[v.id]) continue; mark[v.id] = true; find_eulerian_cycle(v.v); eulerian_cycle.push_back(v.v); } } int main() { scanf("%d%d", &n, &m); //n = m = 33000; for(int i = 0; i < m; i++) { int u, v; scanf("%d%d", &u, &v); //u = i + 1; //v = i + 2; //if(v == n + 1) v = 1; g[u].push_back({v, id}); g[v].push_back({u, id++}); } find_eulerian_cycle(1); eulerian_cycle.push_back(1); stk.push(eulerian_cycle[0]); cnt[eulerian_cycle[0]]++; for(int i = 1; i < eulerian_cycle.size(); i++) { if(cnt[eulerian_cycle[i]] > 0) { printf("%d ", eulerian_cycle[i]); while(stk.top() != eulerian_cycle[i]) { print("%d ", stk.top()); cnt[stk.top()]--; stk.pop(); } printf("\n"); } else { cnt[eulerian_cycle[i]]++; stk.push(eulerian_cycle[i]); } } return 0; }

Compilation message (stderr)

postmen.cpp: In function 'int main()':
postmen.cpp:44:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |     for(int i = 1; i < eulerian_cycle.size(); i++) {
      |                    ~~^~~~~~~~~~~~~~~~~~~~~~~
postmen.cpp:48:17: error: 'print' was not declared in this scope; did you mean 'printf'?
   48 |                 print("%d ", stk.top());
      |                 ^~~~~
      |                 printf
postmen.cpp:29:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   29 |     scanf("%d%d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~
postmen.cpp:33:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |         scanf("%d%d", &u, &v);
      |         ~~~~~^~~~~~~~~~~~~~~~