answer.code:4:10: error: ‘vector’ in namespace ‘std’ does not name a template type
4 | std::vector<std::vector<std::pair<int, int>>> adj;
| ^~~~~~
answer.code:3:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
2 | #include <span>
+++ |+#include <vector>
3 | struct TarjanEcc {
answer.code:5:10: error: ‘vector’ in namespace ‘std’ does not name a template type
5 | std::vector<int> dfn, low;
| ^~~~~~
answer.code:5:5: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
5 | std::vector<int> dfn, low;
| ^~~
answer.code:6:10: error: ‘vector’ in namespace ‘std’ does not name a template type
6 | std::vector<bool> is_bridge;
| ^~~~~~
answer.code:6:5: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
6 | std::vector<bool> is_bridge;
| ^~~
answer.code:7:10: error: ‘vector’ in namespace ‘std’ does not name a template type
7 | std::vector<std::vector<int>> eccs;
| ^~~~~~
answer.code:7:5: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
7 | std::vector<std::vector<int>> eccs;
| ^~~
answer.code: In constructor ‘TarjanEcc::TarjanEcc(std::span<std::pair<int, int> >, int)’:
answer.code:10:11: error: class ‘TarjanEcc’ does not have any field named ‘adj’
10 | : adj(n + 1), dfn(n + 1), low(n + 1), is_bridge(edges.size(), false), eccs(), dfs_clock(0) {
| ^~~
answer.code:10:23: error: class ‘TarjanEcc’ does not have any field named ‘dfn’
10 | : adj(n + 1), dfn(n + 1), low(n + 1), is_bridge(edges.size(), false), eccs(), dfs_clock(0) {
| ^~~
answer.code:10:35: error: class ‘TarjanEcc’ does not have any field named ‘low’
10 | : adj(n + 1), dfn(n + 1), low(n + 1), is_bridge(edges.size(), false), eccs(), dfs_clock(0) {
| ^~~
answer.code:10:47: error: class ‘TarjanEcc’ does not have any field named ‘is_bridge’
10 | : adj(n + 1), dfn(n + 1), low(n + 1), is_bridge(edges.size(), false), eccs(), dfs_clock(0) {
| ^~~~~~~~~
answer.code:10:79: error: class ‘TarjanEcc’ does not have any field named ‘eccs’
10 | : adj(n + 1), dfn(n + 1), low(n + 1), is_bridge(edges.size(), false), eccs(), dfs_clock(0) {
| ^~~~
answer.code:13:13: error: ‘adj’ was not declared in this scope
13 | adj[u].emplace_back(v, i);
| ^~~
answer.code:17:18: error: ‘dfn’ was not declared in this scope
17 | if (!dfn[u]) {
| ^~~
answer.code:21:14: error: ‘vector’ is not a member of ‘std’
21 | std::vector<bool> visited(n);
| ^~~~~~
answer.code:21:14: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:21:21: error: expected primary-expression before ‘bool’
21 | std::vector<bool> visited(n);
| ^~~~
answer.code:23:18: error: ‘visited’ was not declared in this scope
23 | if (!visited[u]) {
| ^~~~~~~
answer.code:24:22: error: ‘vector’ is not a member of ‘std’
24 | std::vector<int> q;
| ^~~~~~
answer.code:24:22: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:24:29: error: expected primary-expression before ‘int’
24 | std::vector<int> q;
| ^~~
answer.code:25:17: error: ‘q’ was not declared in this scope
25 | q.emplace_back(u);
| ^
answer.code:29:40: error: ‘adj’ was not declared in this scope
29 | for (auto [w, id]: adj[v]) {
| ^~~
answer.code:30:30: error: ‘is_bridge’ was not declared in this scope; did you mean ‘find_bridges’?
30 | if (!is_bridge[id] && !visited[w]) {
| ^~~~~~~~~
| find_bridges
answer.code:36:17: error: ‘eccs’ was not declared in this scope
36 | eccs.emplace_back(std::move(q));
| ^~~~
answer.code: In member function ‘void TarjanEcc::find_bridges(int, std::optional<int>)’:
answer.code:43:9: error: ‘dfn’ was not declared in this scope
43 | dfn[u] = low[u] = ++dfs_clock;
| ^~~
answer.code:43:18: error: ‘low’ was not declared in this scope
43 | dfn[u] = low[u] = ++dfs_clock;
| ^~~
answer.code:44:28: error: ‘adj’ was not declared in this scope
44 | for (auto [v, id]: adj[u]) {
| ...