Pagini recente » Cod sursa (job #1619653) | Cod sursa (job #367705) | Cod sursa (job #1184106) | Cod sursa (job #1677755) | Cod sursa (job #799848)
Cod sursa(job #799848)
#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;
Z[++nr][++Z[nr][0]]=i;
for(j=1;j<=n;j++){
if(V[i][j]&&V[j][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;
}