Pagini recente » Cod sursa (job #1132029) | Cod sursa (job #1742072) | Cod sursa (job #1557621) | Cod sursa (job #1646184) | Cod sursa (job #1550912)
//#include <iostream>
#include <fstream>
using namespace std;
ifstream cin("ctc.in");
ofstream cout("ctc.out");
int a[110][110], viz[110], n, m, i, j, k;
int main()
{
cin>>n>>m;
for(k = 1; k <= m; ++k){
cin>>i>>j;
a[i][j] = 1;
}
for(k = 1; k <= n; ++k)
for(i = 1; i <= n; ++i)
for(j = 1; j <= n; ++j)
if(a[i][j] == 0 && i != j && i != k && j != k)
a[i][j] = a[i][k] * a[k][j];
int nr = 0;
for(i = 1; i <= n; ++i)
if(viz[i] == 0){
nr++;
viz[i] = nr;
for(j = 1; j <= n; ++j)
if(a[i][j] == 1 && a[j][i] == 1 && i != j)
viz[j] = nr;
}
cout<<nr<<'\n';
for(i = 1; i <= nr; ++i){
for(j = 1; j <= n; ++j)
if(viz[j] == i)
cout<<j<<" ";
cout<<'\n';
}
return 0;
}