Pagini recente » Cod sursa (job #2785958) | Cod sursa (job #1124677) | Cod sursa (job #1049552) | Cod sursa (job #142646) | Cod sursa (job #1699481)
/*
*/
#include<iostream>
#include<fstream>
using namespace std;
int n,g[102][102],m,pred[102],succ[102],k,nrc;
ifstream fin("a");
void citire()
{
fin>>n>>m;
int x,y;
for(int i=1;i<=m;i++)
{
fin>>x>>y;
g[x][y]=1;
}
}
void df_succ(int nod)
{
succ[nod]=nrc;
for(int i=1;i<=n;i++)
if(g[nod][i]==1&&!succ[i])
df_succ(i);
}
void df_pred(int nod)
{
pred[nod]=nrc;
for(int i=1;i<=n;i++)
if(g[i][nod]==1&&!pred[i])
df_pred(i);
}
int main()
{
citire();
int i,j;
nrc=1;
for(i=1;i<=n;i++)
if(!succ[i])
{
succ[i]=nrc;
df_succ(i);
df_pred(i);
for(j=1;j<=n;j++)
if(succ[i]!=pred[i])
succ[i]=pred[i]=0;
nrc++;
}
cout<<nrc;
return 0;
}