Pagini recente » Monitorul de evaluare | Cod sursa (job #1362678) | Cod sursa (job #2438462) | Istoria paginii runda/luni_ora_10.00 | Cod sursa (job #768672)
Cod sursa(job #768672)
# include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int N,M,viz[100005],c;
typedef struct nod
{
int x;
nod *y;
} *qnod;
qnod v[100005];
void adaugare(qnod &dest, int val)
{
qnod q;
q = new nod;
q->x=val;
q->y=dest;
dest=q;
}
void citire()
{
f>>N>>M;
int i,a,b;
for (i=1;i<=M;i++)
{
f>>a>>b;
adaugare(v[a],b);
adaugare(v[b],a);
}
f.close();
}
void DFS(int nod)
{
qnod q;
viz[nod]=1;
for (q=v[nod]; q!=NULL; q=q->y)
if(viz[q->x]==0)
DFS(q->x);
}
int main()
{
citire();
int i;
for (i=1;i<=N;i++)
if(viz[i]==0)
{
c++;
DFS(i);
}
g<<c;
g.close();
return 0;
}