Submission #1326395

#TimeUsernameProblemLanguageResultExecution timeMemory
1326395arshiadPipes (CEOI15_pipes)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") using namespace std; const int maxn = 1e5 + 10; const int inf = 1e9; const int mod = 1e9 + 7; const int lg = 20; int n, m; int sz1[maxn], par1[maxn]; int sz2[maxn], par2[maxn]; vector <pii> ans; vector <int> g[maxn]; bool vis[maxn]; int h[maxn], ps[maxn], par[maxn]; int find1(int u){ return par1[u] == u ? u : par1[u] = find1(par1[u]); } int find2(int u){ return par2[u] == u ? u : par2[u] = find2(par2[u]); } bool Union1(int u, int v){ u = find1(u), v = find1(v); if (u == v) return 0; if (sz1[u] < sz1[v]) swap(u, v); sz1[u] += sz1[v]; par1[v] = u; return 1; } bool Union2(int u, int v){ u = find2(u), v = find2(v); if (u == v) return 0; if (sz2[u] < sz2[v]) swap(u, v); sz2[u] += sz2[v]; par2[v] = u; return 1; } void DFS(int u){ vis[u] = 1; for (auto v : g[u]){ if (v == par[u]) continue; if (vis[v]){ if (h[u] > h[v]){ ps[u] --; ps[v] ++; } continue; } par[v] = u; h[v] = h[u] + 1; DFS(v); ps[u] += ps[v]; } } void solve(){ cin >> n >> m; for (int i = 1 ; i <= n ; i ++){ par1[i] = par2[i] = i; sz1[i] = sz2[i] = 1; } for (int i = 1 ; i <= m ; i ++){ int u, v; cin >> u >> v; if (Union1(u, v)){ g[u].pb(v); g[v].pb(u); } else if (Union2(u, v)){ g[u].pb(v); g[v].pb(u); } } for (int i = 1 ; i <= n ; i ++) if (!vis[i]){ h[i] = 0, par[i] = 0; DFS(i); } for (int i = 1 ; i <= n ; i ++){ if (par[i] == 0) continue; if (ps[i] == 0) ans.pb({i, par[i]}); } for (auto [u, v] : ans) cout << u << ' ' << v << '\n'; } int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tt = 1; while (tt--) solve(); return 0; }

Compilation message (stderr)

pipes.cpp:13:9: error: 'pii' was not declared in this scope
   13 | vector <pii> ans;
      |         ^~~
pipes.cpp:13:12: error: template argument 1 is invalid
   13 | vector <pii> ans;
      |            ^
pipes.cpp:13:12: error: template argument 2 is invalid
pipes.cpp: In function 'void solve()':
pipes.cpp:77:18: error: 'class std::vector<int>' has no member named 'pb'
   77 |             g[u].pb(v);
      |                  ^~
pipes.cpp:78:18: error: 'class std::vector<int>' has no member named 'pb'
   78 |             g[v].pb(u);
      |                  ^~
pipes.cpp:81:18: error: 'class std::vector<int>' has no member named 'pb'
   81 |             g[u].pb(v);
      |                  ^~
pipes.cpp:82:18: error: 'class std::vector<int>' has no member named 'pb'
   82 |             g[v].pb(u);
      |                  ^~
pipes.cpp:96:17: error: request for member 'pb' in 'ans', which is of non-class type 'int'
   96 |             ans.pb({i, par[i]});
      |                 ^~
pipes.cpp:99:24: error: 'begin' was not declared in this scope
   99 |     for (auto [u, v] : ans)
      |                        ^~~
pipes.cpp:99:24: note: suggested alternatives:
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:166,
                 from pipes.cpp:1:
/usr/include/c++/13/valarray:1238:5: note:   'std::begin'
 1238 |     begin(const valarray<_Tp>& __va) noexcept
      |     ^~~~~
In file included from /usr/include/c++/13/filesystem:50,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:200:
/usr/include/c++/13/bits/fs_dir.h:607:3: note:   'std::filesystem::__cxx11::begin'
  607 |   begin(recursive_directory_iterator __iter) noexcept
      |   ^~~~~
pipes.cpp:99:24: error: 'end' was not declared in this scope
   99 |     for (auto [u, v] : ans)
      |                        ^~~
pipes.cpp:99:24: note: suggested alternatives:
/usr/include/c++/13/valarray:1265:5: note:   'std::end'
 1265 |     end(const valarray<_Tp>& __va) noexcept
      |     ^~~
/usr/include/c++/13/bits/fs_dir.h:612:3: note:   'std::filesystem::__cxx11::end'
  612 |   end(recursive_directory_iterator) noexcept
      |   ^~~