Pagini recente » Cod sursa (job #1104585) | Cod sursa (job #1237865) | Cod sursa (job #1719702) | Cod sursa (job #1104303) | Cod sursa (job #3272591)
/*
//sortare elemente <vector>
#include <fstream>
#include<algorithm>
#include <vector>
#define NMAX 100003
using namespace std;
ifstream fi("dfs.in");
ofstream fo("dfs.out");
int k,n, m, u,p, s,i,j,x,y,ncc;
vector <int> a;
int main()
{
fi>>n;
for(i=1; i<=n; i++)
{
fi>>x;a.push_back(x);
}
//
sort(a.begin(),a.end());
n=a.size();
for(i=0;i<n;i++)
fo<<a[i]<<" ";
fo.close();
fi.close();
return 0;
}
//matrice
#include <fstream>
#include<algorithm>
#include <vector>
#define NMAX 100003
using namespace std;
ifstream fi("dfs.in");
ofstream fo("dfs.out");
int k,n, m, u,p, s,i,j,x,y,ncc;
vector <int> a[NMAX];
int main()
{
fi>>n>>m;
for(i=1; i<=n; i++)
for(j=1;j<=m;j++)
{
fi>>x;
a[i].push_back(x);
}
//se pot modifica numarul de elemente de pe
//liniile matricii !!!!
for(i=1; i<=n; i++){
for(j=0;j<a[i].size();j++)
fo<<a[i][j]<<" ";
fo<<'\n';
}
fo.close();
fi.close();
return 0;
}
*/
#include <fstream>
#include<algorithm>
#include <vector>
#define NMAX 100003
using namespace std;
ifstream fi("dfs.in");
ofstream fo("dfs.out");
int k,n, m, u,p, s,i,j,x,y,ncc;
vector <int> a[NMAX];
vector <int> viz(NMAX,0);
void DFS(int nod)
{
int i,t;
viz[nod]=1;
t=a[nod].size();
for(i=0; i<t; i++)
if(viz[a[nod][i]]==0)DFS(a[nod][i]);
}
int main()
{
fi>>n>>m;
for(i=1; i<=m; i++)
{
fi>>x>>y;
a[x].push_back(y); //pune in lista nodului x nodul y
a[y].push_back(x); //pune in lista nodului y nodul x
}
//
for(i=1;i<=n;i++)
if(viz[i]==0){ncc++; DFS(i);}
fo<<ncc;
fo.close();
fi.close();
return 0;
}