Pagini recente » Istoria paginii runda/ciocolata/clasament | Cod sursa (job #1205517) | Cod sursa (job #438264) | Cod sursa (job #2785297) | Cod sursa (job #2795617)
#include <fstream>
#include <vector>
#include "Algorithms.h"
using namespace std;
void solveDfs()
{
int N, M;
ifstream in( "dfs.in" );
in >> N >> M;
vector<vector<int>> adjacencyList( N + 1 );
int x, y;
for( int i = 0; i < M; ++i ) {
in >> x >> y;
adjacencyList[x].push_back( y );
}
int nrComponents = 0;
vector<bool> visited( N + 1, false );
ofstream out( "dfs.out" );
for( int startNode = 1; startNode <= N; ++startNode )
if( !visited[startNode] ) {
++nrComponents;
vector<int> traversal = Algorithms::DFS( adjacencyList, startNode, visited );
/*out << "\nComponenta #" << nrComponents << ": ";
for( auto node : traversal )
out << node << ' ';*/
}
out << nrComponents;
}
int main()
{
solveDfs();
}