dfsのエラーについて

前提

下のコードを見てください。実行すると分かると思うのですが、13行目でエラーが起きます。なぜこのようなエラーが起きると思いますか?また、解決するにはどうすればよいでしょうか。

実現したいこと

ここに実現したいことを箇条書きで書いてください。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

C++

ソースコード #include <iostream>#include<vector>#include<stack>using namespace std;int N,M;vector<int>a(M);vector<int>color(N);void dfs(int r){ stack<int>S; S.push(r); while(!S.empty()){ int u = S.top();S.pop(); for(int i = 0;i < (int)a[u].size();i++){ int v = a[u][i]; if(color[v] == -1){ color[v] = 1; S.push(v); } } }}int main(){ cin >> N >> M; vector<int>a(M); for(int i=0;i<M;i++){ int s,t;cin >> s >> t; a[s].push_back(t); a[t].push_back(s); } for(int i=0;i<N;i++){ color[i] = -1; } dfs(0); for(int i=0;i<N;i++){ if(color[i] == -1){ cout << "No" << endl;return 0; } } cout << "Yes" << endl;}

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント