Pagini recente » Cod sursa (job #2381308) | Cod sursa (job #2519662) | Cod sursa (job #301292) | Cod sursa (job #1182727) | Cod sursa (job #700234)
Cod sursa(job #700234)
#include<fstream>
using namespace std;
ifstream f("graf.in");
ofstream g("graf.out");
int n, m, t;
int T[100], D[100], F[100], U[100];
struct lista{
int nod;
lista *urm;
} *G[100];
void adauga(int i, int j)
{
lista *p;
p = new lista;
p->nod = j;
p->urm = G[i];
G[i] = p;
}
void citire()
{
f >> n >> m;
int i, j;
while(m--)
{
f >> i >> j;
adauga(i, j);
adauga(j, i);
}
}
void DF(int nod)
{
lista *p;
U[nod] = 1;
//g << nod << " ";
for(p = G[nod]; p!=NULL; p = p->urm)
if(!U[p->nod])
{
T[p->nod] = nod;
DF(p->nod);
}
}
int main()
{
citire();
//g << "Componente conexe\n";
int nr=0;
for(int i=1; i<=n; i++)
{
if(!U[i])
{
nr++;
//g << nr << ": ";
DF(i);
//g << "\n";
}
}
g << nr << "\n";
return 0;
}