Pagini recente » Cod sursa (job #3248940) | Cod sursa (job #3285469) | Cod sursa (job #752969) | Cod sursa (job #3247440) | Cod sursa (job #243336)
Cod sursa(job #243336)
#include<fstream>
using namespace std;
#define MAXN 300
int a[MAXN][MAXN];
int viz[MAXN];
int nrctc;
int main(){
int n, m, k, i, j, x, y;
ifstream f("ctc.in");
f>>n>>m;
for(i=0;i<m;i++){
f>>x>>y;
a[x][y]=1;
}
f.close();
for(k=1;k<=n;k++)
for(i=1; i<=n;i++)
for(j=1;j<=n;j++)
if(k!=i &&i!=j&&k!=j)
if(a[i][k]&&a[k][j])
a[i][j]=1;
ofstream g("ctc.out");
for(i=1;i<=n;i++){
if(!viz[i]){
nrctc++;
viz[i]=nrctc;
for(j=1;j<=n;j++)
if(a[i][j]&&a[j][i])
viz[j]=nrctc;
}
}
g<<nrctc<<'\n';
for(i=1;i<=nrctc;i++){
for(j=1;j<=n;j++)
if(viz[j]==i)
g<<j<<' ';
g<<'\n';
}
g.close();
return 0;
}