Pagini recente » Cod sursa (job #2634644) | Cod sursa (job #1255505) | Cod sursa (job #2817770) | Cod sursa (job #2541690) | Cod sursa (job #1311705)
#include <fstream>
using namespace std;
struct
{
int v1,v2;
}x[100];int n,viz[100],m;
ifstream f("dfs.in");
ofstream g("dfs.out");
void citire()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
f>>x[i].v1>>x[i].v2;
}
}
void parcurgere(int v,int nc)
{
int inc=1,sf=1,c[100];
c[inc]=v;
viz[v]=nc;
while(inc<=sf)
{
for(int i=1;i<=n;i++)
{ for(int j=1;j<=m;j++)
if(x[j].v1==c[inc]&&x[j].v2==i||x[j].v1==i&&x[j].v2==c[inc])
{
sf++;
c[sf]=i;
viz[i]=nc;
}
}
inc++;
}
}
int main()
{
citire();
int k=1,l=0;
for(int i=1;i<=n;i++)
{
if(viz[i]==0)
parcurgere(i,k),k++;
}
for(int i=1;i<=n;i++)
if(viz[i]>l)
l=viz[i];
g<<l;
return 0;
}