Pagini recente » Cod sursa (job #2981583) | Cod sursa (job #1242841) | Cod sursa (job #1517527) | Cod sursa (job #711113) | Cod sursa (job #2413342)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in ( "dfs.in" );
ofstream out ( "dfs.out" );
int n, m, nr;
bool *viz;
vector<vector<int>> a;
void dfs(int x)
{
int i,y;
viz[x] = true;
for(i = 0; i < a[x].size(); i++)
{
y = a[x][i];
if( !viz[y] )
dfs(y);
}
++nr;
}
int main ( ){
int i, x, y;
in >> n >> m;
viz = new bool [n + 1];
for ( i = 0; i <= n; i++ ){
a.push_back ( vector<int> ());
viz[i] = 0;
}
for ( i = 0; i < m ; i++ ){
in >> x >> y;
a[x].push_back(y);
}
dfs ( 1 );
out << nr;
in.close();
out.close();
delete viz;
return 0;
}