競プロ用のメモ

競プロのメモです。競プロで得たc++の知識を書きます。atcoder緑が書いてます。

自作バグ:DFS

dfsを再帰で呼び出すときに,引数のベクトルの処理で間違えた.

ループでdfsする場合は変化を加えた変数を元に戻す必要がある.

 

```cpp

void dfs(vec<bool> seen, vec<int> a){

  // 適当な処理

  for(int i=0; i<n ; i++){

    seen[i]=true;

    vec.push_back(i);

    dfs(seen,a)

    seen[i]=false; // ここの処理

    vec.pop_back(); // ここの処理

  }    

}

```