Cod sursa(job #2453211)

Utilizator AAndrei66Apostol Andrei AAndrei66 Data 2 septembrie 2019 19:29:21
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb

#include<iostream>
#include<fstream>
using namespace std;

void DFS(int x, int viz[40], int mat[20][20], int n)
{
	unsigned int i;
	viz[x] = 1;
	
	for (i = 1; i <= n; i++)
		if (mat[x][i] == 1 && viz[i] == 0)
		{
			DFS(i, viz, mat, n);
		}
}

int main()
{
	ifstream in("ag.in");

	int a[20][20], n, i, j, viz[40], x,y, conexe = 0;

	

	in>> n;
	for (i = 1; i <= n; i++)
		viz[i] = 0;
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= n; j++)
			a[i][j] = 0;
	}
	while (in >> x >> y)
	{
		a[x][y] = 1;
		a[y][x] = 1;
	}

	/*for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= n; j++)

			cout << a[i][j] << " ";
		cout << endl;
	}*/
	for (i = 1; i <= n; i++)
	{
		if (viz[i] == 0)
		{
			conexe++;
			DFS(i, viz, a, n);
		}
	}
	for (i = 1; i <= n; i++)
		cout << viz[i];
	cout << conexe;
}