Cod sursa(job #530144)

Utilizator mening12001Andrei Geogescu mening12001 Data 6 februarie 2011 23:05:09
Problema Componente tare conexe Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<iostream.h>
#include<fstream.h>
ofstream h("ctc.out");
int a[10000][10000],viz[100001],n,viz1[100001];

int parcur1(int x)
{viz1[x]=1;

for(int i=1;i<=n;i++)
	if(viz1[i]==0&&a[i][x]==1&&a[x][i]==1)
		parcur1(i);
}



int parcurg(int x)
{viz[x]=1;
h<<x<<" ";
for(int i=1;i<=n;i++)
	if(viz[i]==0&&a[i][x]==1&&a[x][i]==1)
		parcurg(i);
}

int main()
{int m,x,y,i,j,k,p=0;
	ifstream f("ctc.in");

f>>n>>m;
for(i=1;i<=m;i++)
{f>>x>>y;
a[x][y]=1;}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
	if(a[i][k]==1&&a[k][j]==1&&i!=k&&j!=k)
		a[i][j]=1;
	
	for(i=1;i<=n;i++)
	if(viz1[i]==0)
	{parcur1(i);
p++;}	
	
	h<<p<<endl;
	
	
	for(i=1;i<=n;i++)
if(viz[i]==0)
	{parcurg(i);
h<<endl;}

return 0;}