Pagini recente » Cod sursa (job #972720) | Cod sursa (job #1685805) | Cod sursa (job #1043398) | Cod sursa (job #3225646) | Cod sursa (job #864680)
Cod sursa(job #864680)
#include <fstream>
#include <vector>
#include <stack>
using namespace std;
fstream f("dfs.in" , ios::in), g("dfs.out", ios::out);
int n,m,tr=0;
bool v[100000];
vector <int> G[100000];
stack<int> s;
int main()
{
f>>n>>m;
for(;m;--m)
{
int a,b;
f>>a>>b;
G[a].push_back(b);
G[b].push_back(a);
}
for(int i=1;i<=n;i++)
{
if (v[i]==false)
{
tr++;
int fr=i;
s.push(i);
while (!s.empty())
{
int front=s.top();
for(int i=0;i<G[front].size();i++)
{
if (v[G[front][i]]==false)
{
s.push(G[front][i]);
v[G[front][i]]=true;
}
}
s.pop();
}
}
}
g<<tr<<'\n';
return 0;
}