Обход графа в глубину c++ ======================================
Задача: http://informatics.mccme.ru/mod/statements/view.php?id=8454#1
#include <bits/stdc++.h>
using namespace std;
int n;
const int MAXN = 110;
int g[MAXN][MAXN];
bool used[MAXN];
vector<int> comp; // êîìï ñâÿçíîñòè
void dfs(int v)
{
used[v] = true;
comp.push_back(v);
for(size_t i = 0; i < n; i++)
{
int to = g[v][i];
if(!used[to] && to)
dfs(to);
}
}
int main()
{
// freopen("input.txt", "r", stdin);
int s;
cin >> n >> s;
s--;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> g[i][j];
dfs(s);
cout << comp.size() + 1; // +1 äëÿ ñàìîé âåðøèíû s
return 0;
}
Проходит только 3/8 теста. В чем ошибка?
====================================== c++ https://ru.stackoverflow.com/q/614417