Pagini recente » Cod sursa (job #2084563) | Cod sursa (job #1270997) | Cod sursa (job #2255296) | Cod sursa (job #270398) | Cod sursa (job #2271899)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("sortaret.in");
ofstream cout ("sortaret.out");
vector <int> v[50003];
int n,m,cat[50003],q[50003];
void citire ()
{
int i,a,b;
cin>>n>>m;
for(i=1;i<=m;++i)
{
cin>>a>>b;
v[a].push_back(b);
++cat[b];
}
}
void rez ()
{
int i,j,nc,nn,st=1,dr=0;
for(i=1;i<=n;++i)
if(cat[i]==0)
{
q[++dr]=i;
cout<<i<<' ';
}
while(st<=dr)
{
nc=q[st];
for(i=0;i<v[nc].size();++i)
{
nn=v[nc][i];
--cat[nn];
if(cat[nn]==0)
{
cout<<nn<<' ';
q[++dr]=nn;
}
}
++st;
}
}
int main()
{
citire();
rez();
return 0;
}