Pagini recente » Cod sursa (job #922221) | Cod sursa (job #1142528) | Cod sursa (job #2829392) | Cod sursa (job #2060367) | 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;
}