Pagini recente » Cod sursa (job #2560380) | Cod sursa (job #350319) | Cod sursa (job #313669) | Cod sursa (job #2467644) | Cod sursa (job #2990676)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
stack <int> stk;
const int NMax = 50010;
vector<vector<int>> G;
int n,m,x,y;
bool v[NMax];
void Df(int x)
{
v[x] = 1;
for(auto c:G[x])
if(!v[c])
Df(c);
stk.emplace(x);
}
void Topsort()
{
for(int i=1;i<=n;i++)
if(!v[i])
Df(i);
while(!stk.empty())
{
fout<<stk.top()<<" ";
stk.pop();
}
}
int main()
{
/*ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);*/
fin>>n>>m;
G = vector<vector<int>>(n+1);
for(int i=1;i<=m;i++)
{
fin>>x>>y;
G[x].push_back(y);
}
Topsort();
return 0;
}