Pagini recente » Cod sursa (job #2238732) | Cod sursa (job #1917254) | Cod sursa (job #1491692) | Monitorul de evaluare | Cod sursa (job #2530528)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int>l[500001];
stack<int>s;
bitset<500001>ap;
int n, m, i, j;
void sortare(int v)
{
ap[v] = 1;
for(const int& it : l[v])
{
if(!ap[it])
{
sortare(it);
}
}
s.push(v);
}
void topSort()
{
for(int i = 1; i <= n; i++)
{
if(!ap[i])
{
sortare(i);
}
}
while(!s.empty())
{
fout << s.top() << ' ';
s.pop();
}
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= m; i++)
{
fin >> i >> j;
l[i].push_back(j);
}
topSort();
return 0;
}