cycle_detection
このページは自動生成された下書きです。
公開 API と基本的な import パスを整理しています。詳細な説明、計算量、注意点、使用例は必要に応じて追記してください。
import
import atcoder/extra/graph/cycle_detection
公開 API
const ATCODER_CYCLE_DETECTION_HPP* = 1
proc cycleDetection*[G:Graph](g:G):Option[seq[Edge[G.T, G.U]]] =
proc cycleDetectionUndirected*[G:Graph](g:G):Option[seq[Edge[G.T, G.U]]] =
概要
TODO: このライブラリの用途と使いどころを記述してください。
使用例
TODO: 使用例を追加してください。
注意
TODO: 制約、前提条件、落とし穴を記述してください。
基本例
cycleDetection(g) は有向 graph の閉路を探します。閉路が見つかると Option[seq[Edge]] の some を返します。
import std/options
import atcoder/extra/graph/graph_template
import atcoder/extra/graph/cycle_detection
var g = initGraph(3)
g.addEdge(0, 1)
g.addEdge(1, 2)
g.addEdge(2, 0)
let c = cycleDetection(g)
doAssert c.isSome
無向 graph では cycleDetectionUndirected(g) を使えます。