Pagini recente » Cod sursa (job #9408) | Cod sursa (job #2540311) | Cod sursa (job #1599930) | Cod sursa (job #820212) | Cod sursa (job #2935230)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fi("sortaret.in");
ofstream fo("sortaret.out");
int n,m;
vector <int> ADJ[50001];
int GI[50001];
vector <int> REZ;
deque <int> L;
int main()
{
fi>>n>>m;
for (int i=1;i<=m;i++)
{
int a,b;
fi>>a>>b;
ADJ[a].push_back(b);
GI[b]++;
}
for (int i=1;i<=n;i++)
if (GI[i]==0)
L.push_back(i);
while (!L.empty())
{
int v;
v=L.front();
L.pop_front();
REZ.push_back(v);
for (auto it:ADJ[v])
{
GI[it]--;
if (GI[it]==0)
L.push_back(it);
}
}
for (auto it:REZ)
fo<<it<<" ";
fi.close();
fo.close();
return 0;
}