Pagini recente » Cod sursa (job #2561586) | Cod sursa (job #2543234) | Cod sursa (job #2832501) | Cod sursa (job #241151) | Cod sursa (job #890195)
Cod sursa(job #890195)
#include <cstdio>
#include <queue>
#include <vector>
using namespace std;
bool vis[100005];
vector <int> G[100005];
int main()
{
int n,m,i,x,y,rez = 0;
queue<int> q;
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d %d",&n, &m);
for(i=1; i<=m; i++)
{
scanf("%d %d",&x, &y);
G[x].push_back(y);
G[y].push_back(x);
}
for (i=1;i<=n;i++) if (!vis[i])
{
rez++;
vis[i] = true;
q.push(i);
while(!q.empty())
{
int fr=q.front();
for(int i=0; i<G[fr].size(); i++)
{
if(vis[G[fr][i]]==false)
{
q.push(G[fr][i]);
vis[G[fr][i]]=true;
}
}
q.pop();
}
}
printf("%d",rez);
return 0;
}