Pagini recente » Cod sursa (job #1308201) | Cod sursa (job #1259314) | Cod sursa (job #112470) | Cod sursa (job #1393796) | Cod sursa (job #1115775)
#include <fstream>
#define NMax 100001
using namespace std;
struct NOD {
int key;
NOD *next;
};
NOD *start[NMax];
bool vis[NMax];
void DF(int x)
{
NOD *p;
p = start[x];
while(p)
{
if(! vis[p->key])
{
vis[p->key] = true;
DF(p->key);
}
p = p->next;
}
}
int main()
{
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n, m, i, j, c, comp;
NOD *p;
fin >> n >> m;
for(c=1 ; c<=m ; ++c)
{
fin >> i >> j;
p = new NOD;
p->key = j;
p->next = start[i];
start[i] = p;
p = new NOD;
p->key = i;
p->next = start[j];
start[j] = p;
}
comp = 0;
for(c=1 ; c<=n ; ++c)
{
if(! vis[c])
{
++comp;
vis[c] = true;
DF(c);
}
}
fout << comp;
return 0;
}