Pagini recente » Cod sursa (job #1731095) | Cod sursa (job #802939) | Cod sursa (job #42020) | Cod sursa (job #731173) | Cod sursa (job #425777)
Cod sursa(job #425777)
#include<cstdio>
#include<vector>
using namespace std;
int n,m,nr;
vector<int> matei[100010], cimp [100010];
bool marc[100010];
void citire();
void dfs(int);
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
citire();
for(int i=1;i<=n;++i)
if(marc[i]==0)
{
++nr;
dfs(i);
}
printf("%d ", nr);
return 0;
}
void citire()
{
int x,y;
scanf("%d%d ", &n,&m);
while(m--)
{
scanf("%d%d ", &x,&y);
matei[x].push_back(y);
matei[y].push_back(x);
}
}
void dfs(int nod)
{
marc[nod]=1;
cimp[nr].push_back(nod);
for(size_t i=0; i<matei[nod].size();++i)
if(!marc[matei[nod][i]])
{
dfs(matei[nod][i]);
}
}