Cod sursa(job #2190753)

Utilizator Mihai9Oniga Mihai Mihai9 Data 31 martie 2018 18:10:22
Problema Componente tare conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>
#define N 100001
#define pb push_back
using namespace std;ifstream f("ctc.in");ofstream g("ctc.out");int n,m,k,sol,SZ,v[N];vector<int>A[N],B[N],Q[N];int G[N];void d(int R){v[R]=true;for(int i=0;i<A[R].size();++i)if(!v[A[R][i]])d(A[R][i]);G[++k]=R;}void a(int R){v[R]=true;for(int i=0;i<B[R].size();++i)if(!v[B[R][i]])a(B[R][i]);Q[sol].pb(R);}int main(){int i,j,x,y;f>>n>>m;for(i=1;i<=m;++i)f>>x>>y,A[x].pb(y),B[y].pb(x);for(i=1;i<=n;++i)if(!v[i])d(i);memset(v,0,sizeof(v));for(i=k;i>=1;--i)if(!v[G[i]])++sol,a(G[i]);g<<sol<<'\n';for(i=1;i<=sol;++i){for(j=0;j<Q[i].size();++j)g<<Q[i][j]<<' ';g<<'\n';}return 0;}