CP-Algorithms Library

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub cp-algorithms/cp-algorithms-aux

:heavy_check_mark: Cycle Detection (Undirected) (verify/graph/cycle_undirected.test.cpp)

Depends on

Code

// @brief Cycle Detection (Undirected)
#define PROBLEM "https://judge.yosupo.jp/problem/cycle_detection_undirected"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#include "cp-algo/graph/cycle.hpp"
#include <bits/stdc++.h>

using namespace std;
using namespace cp_algo::graph;

void solve() {
    int n, m;
    cin >> n >> m;
    graph g(n);
    g.read_edges(m);
    auto [v, cycle] = find_cycle(g);
    if(empty(cycle)) {
        cout << -1 << "\n";
    } else {
        cout << size(cycle) << "\n";
        cout << v;
        for(auto it: cycle | views::take(size(cycle) - 1)) {
            v = g.edge(it).traverse(v);
            cout << ' ' << v;
        }
        cout << "\n";
        for(auto it: cycle) {cout << it << ' ';}
        cout << "\n";
    }
}

signed main() {
    //freopen("input.txt", "r", stdin);
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t = 1;
    while(t--) {
        solve();
    }
}
Traceback (most recent call last):
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj_resolve/resolver.py", line 181, in resolve
    bundled_code = language.bundle(path, basedir=basedir)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus.py", line 252, in bundle
    bundler.update(path)
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 327, in update
    assert len(lines) == len(uncommented_lines)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Test cases

Env Name Status Elapsed Memory
g++ example_00 :heavy_check_mark: AC 5 ms 4 MB
g++ example_01 :heavy_check_mark: AC 5 ms 4 MB
g++ example_02 :heavy_check_mark: AC 5 ms 4 MB
g++ example_03 :heavy_check_mark: AC 5 ms 4 MB
g++ example_04 :heavy_check_mark: AC 5 ms 4 MB
g++ long_cycle_00 :heavy_check_mark: AC 175 ms 26 MB
g++ long_cycle_01 :heavy_check_mark: AC 139 ms 29 MB
g++ long_cycle_02 :heavy_check_mark: AC 19 ms 6 MB
g++ random_00 :heavy_check_mark: AC 60 ms 23 MB
g++ random_01 :heavy_check_mark: AC 59 ms 23 MB
g++ random_02 :heavy_check_mark: AC 50 ms 21 MB
g++ random_03 :heavy_check_mark: AC 14 ms 7 MB
g++ random_04 :heavy_check_mark: AC 29 ms 9 MB
g++ random_05 :heavy_check_mark: AC 58 ms 22 MB
g++ random_06 :heavy_check_mark: AC 39 ms 15 MB
g++ random_07 :heavy_check_mark: AC 8 ms 4 MB
g++ random_08 :heavy_check_mark: AC 46 ms 19 MB
g++ random_09 :heavy_check_mark: AC 30 ms 12 MB
g++ random_dense_00 :heavy_check_mark: AC 47 ms 22 MB
g++ random_dense_01 :heavy_check_mark: AC 49 ms 22 MB
g++ random_dense_02 :heavy_check_mark: AC 48 ms 23 MB
g++ tree_00 :heavy_check_mark: AC 82 ms 22 MB
g++ tree_01 :heavy_check_mark: AC 99 ms 25 MB
g++ tree_02 :heavy_check_mark: AC 15 ms 5 MB
g++ unicyclic_00 :heavy_check_mark: AC 70 ms 22 MB
g++ unicyclic_01 :heavy_check_mark: AC 73 ms 25 MB
g++ unicyclic_02 :heavy_check_mark: AC 14 ms 5 MB
Back to top page