質問: false; void dfs(vector> A, int now, int before, vector &vi){ if(vi[now]==1){loop=true;return;} vi[now]=1; for(int i=0; i>N>>M; vector> A(1000,vector(0)); //入力を受け取って配列にする vector vi(1000,0); //visitedの管理 for(int j=0; j>p>>c;p--;c--; A[p].push_back(c); A[c].push_back(p); } for(int k=0; k
回答: ``` 4 4 1 2 1 3 1 4 3 4 ``` このようなテストケースはどうでしょう 明らかに閉路を持つ連結成分しか存在しませんが、そのプログラムは「1」を表示します。