Pagini recente » Cod sursa (job #1467887) | Cod sursa (job #497070) | Cod sursa (job #1036434) | Cod sursa (job #51312) | Cod sursa (job #2086908)
#include <fstream>
#define DIM 1001
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, nrc;
int A[DIM][DIM], s[DIM];
void read()
{
int i, j;
f>>n>>m;
while(f>>i>>j)
A[i][j]=A[j][i]=1;
f.close();
}
void DFS(int k)
{
s[k]=nrc;
for (int i=1; i<=n; i++)
if (A[k][i]==1 && s[i]==0)
DFS(i);
}
void solve()
{
read();
for (int i=1; i<=n; i++)
if (!s[i])
{
nrc++;
DFS(i);
}
}
int main()
{
read();
solve();
g<<nrc<<"\n";
g.close();
return 0;
}