Cod sursa(job #2345943)

Utilizator Nemo123456nichita Nemo123456 Data 16 februarie 2019 21:17:55
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
using namespace std;

ifstream cin("dfs.in");
ofstream cout("dfs.out");

int a[1001][1001],viz[1001],n,m,x,y,p;

void citire()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		{
			cin>>x>>y;
			a[x][y]=1;
			a[y][x]=1;
		}
	
}

void af()
{
	for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
					cout<<a[i][j]<<' ';
			cout<<endl;					
		}
}

void dfs(int node)
{
	viz[node]=1;
	for(int j=1;j<=n;j++)
		if(!viz[j] && a[node][j]) dfs(j);
}


void doit()
{
	for(int i=1;i<=n;i++)
		if(!viz[i]) {p++;dfs(i);}
	cout<<p;
}


int main()
{
	citire();
	af();
	doit();
}