Pagini recente » Cod sursa (job #1274991) | Cod sursa (job #1351939) | Cod sursa (job #823142) | Cod sursa (job #519526) | Cod sursa (job #3122780)
#include <bits/stdc++.h>
using namespace std;
int n,m,m1,m2,sol;
vector<vector<int>>adj(100010);
vector<bool>viz(100010,0);
void dfs(int nod)
{
stack<int>st;
st.push(nod);
viz[nod] = 1;
while(!st.empty())
{
int top = st.top();
st.pop();
for(int i = 0;i < adj[top].size();i++)
if(viz[adj[top][i]] == 0)
{
st.push(adj[top][i]);
viz[adj[top][i]] = 1;
}
}
}
int main()
{
cin>>n>>m;
for(int i = 1;i <= m;i++)
{
cin>>m1>>m2;
adj[m1].push_back(m2);
adj[m2].push_back(m1);
}
for(int i = 1;i <= n;i++)
{
if(viz[i] == 0)
{
dfs(i);
sol++;
}
}
cout<<sol;
}