Pagini recente » Cod sursa (job #2263923) | Cod sursa (job #88005) | Cod sursa (job #1224816) | Cod sursa (job #1953329) | Cod sursa (job #857881)
Cod sursa(job #857881)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int a[50][50],n,i,j,x,y,nr=0,m,valid[50];
void ScrieMat(int xx[][50],int yy)
{
int i,j;
for (i=1;i<=yy;i++)
{
for (j=1;j<=yy;j++)
{
cout<<xx[i][j]<<" ";
}
cout<<endl;
}
}
void ScrieSir(int xx[],int yy)
{
int i;
for (i=1;i<=yy;i++)
{
cout<<xx[i]<<' ';
}
cout<<endl;
}
void CautaVecini(int v)
{
int i=1,j=1,vecini[50],k;
vecini[j]=v;
valid[v]=1;
while(i<=j)
{
for(k=1;k<=n;k++)
{
if (a[vecini[i]][k]==1 && valid[k]==0)
{
j++;
vecini[j]=k;
valid[k]=1;
}
}
i++;
}
ScrieSir(vecini,j);
nr++;
}
int main()
{
f>>n>>m;
cout<<n<<endl;
for (i=1;i<=m;i++)
{
f>>x>>y;
cout<<x<<" "<<y<<endl;
a[x][y]=1;
a[y][x]=1;
}
cout<<endl;
ScrieMat (a,n);
cout<<endl;
for (i=1;i<=n;i++)
{
if(valid[i]==0)
{
CautaVecini(i);
}
}
g<<nr;
return 0;
}