Pagini recente » Cod sursa (job #2568685) | Cod sursa (job #274104) | Cod sursa (job #1358128) | Cod sursa (job #2444329) | Cod sursa (job #1626427)
#include<fstream>
#include<vector>
#include<set>
using namespace std;
struct point
{
set<int> vecini;
};
point x[100002];
int n,m,viz[100002],res;
ifstream f("dfs.in");
ofstream g ("dfs.out");
void df(int node)
{
viz[node]=1;
for(int i=1;i<=n;++i)
{
if(x[node].vecini.count(i) && viz[i]==0)
{
df(i);
}
}
}
int main()
{
f>>n>>m;
int aux1,aux2;
for(int i=0;i<m;++i)
{
f>>aux1>>aux2;
x[aux1].vecini.insert(aux2);
x[aux2].vecini.insert(aux1);
}
for(int i=1;i<=n;++i)
{
if(viz[i]==0)
{
g<<i<<"\n";
df(i);
res++;
}
}
g<<res;
return 0;
}