Pagini recente » Cod sursa (job #1335231) | Cod sursa (job #2450117) | Cod sursa (job #94352) | Cod sursa (job #1665719) | Cod sursa (job #723628)
Cod sursa(job #723628)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
#define lung 50001
vector <int> v[lung];
vector <int>::iterator it;
int i,n,m,cd[lung],a,b,grad[lung],sc,ic;
int main()
{ fin >> n >> m;
for (i=1;i<=m;++i)
{ fin >> a >> b;
v[a].push_back(b);
++grad[b];
}
for (i=1;i<=n;++i)
if (!grad[i])
cd[++sc] = i;
while (ic <= sc)
{ ++ic;
for (it=v[ic].begin();it!=v[ic].end();++it)
{ --grad[*it];
if (!grad[*it])
cd[++sc] = *it;
}
}
for (i=1;i<=n;++i)
fout << cd[i] << " ";
return 0;
}