Cod sursa(job #3272588)
| Utilizator | Data | 30 ianuarie 2025 09:04:12 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <fstream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n,nrc=0,viz[101],m,t[2][50],start[50];
void DF(int x)
{
int p;
p=start[x];
viz[x]=nrc;
for(int i=1;i<=n;i++)
if(a[x][i]==1 && viz[i]==0)
DF(i);
}
int main()
{
int i,j,k=0;
in>>n>>m;
for(int y=1;y<=m;y++)
{
in>>i>>j;
t[0][++k]=j;
t[1][k]=start[i];
start[i]=k;
t[0][++k]=i;
t[1][k]=start[j];
start[j]=k;
}
for(int i=1;i<=n;i++)
{
if(viz[i]==0)
{
nrc++;
DF(i);
}
}
out<<nrc<<'\n';
return 0;
}
