Pagini recente » Cod sursa (job #683681) | Cod sursa (job #1939698) | Cod sursa (job #826855) | Cod sursa (job #3153203) | Cod sursa (job #799837)
Cod sursa(job #799837)
#include<stdio.h>
#define dim 1000
int n,m,i,j,k,V[dim][dim],nr,a,b,Fr[dim],Z[dim][dim],ok;
FILE*f=fopen("ctc.in","r");
FILE*g=fopen("ctc.out","w");
void read(){
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;i++){
fscanf(f,"%d%d",&a,&b);
V[a][b]=1;
}
}
int main(){
read();
for(k=1;k<=n;k++){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(i!=j&&V[i][k]&&V[k][j]){
V[i][j]=1;
}
}
}
}
for(i=1;i<=n;i++){
ok=0;
if(Fr[i])
continue;
for(j=1;j<=n;j++){
if(V[i][j]&&V[j][i]){
if(ok==0){
ok=1;nr++;
Z[nr][++Z[nr][0]]=i;
}
Z[nr][++Z[nr][0]]=j;
Fr[j]=1;
}
}
}
fprintf(g,"%d\n",nr);
for(i=1;i<=nr;i++){
for(j=1;j<=Z[i][0];j++)
fprintf(g,"%d ",Z[i][j]);
fprintf(g,"\n");
}
return 0;
}