Pagini recente » Cod sursa (job #657144) | Cod sursa (job #566200) | Cod sursa (job #1674449) | Cod sursa (job #417749) | Cod sursa (job #2740562)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n, m;
vector<int> G[50001];
bool ap[50001];
stack<int> stiva;
void Citire()
{
int i, j;
fin >> n >> m;
for(int c=0; c<m; c++)
{
fin >> i >> j;
G[i].push_back(j);
}
}
void dfs(int k)
{
ap[k]=1;
for(int x : G[k])
if(!ap[x])
dfs(x);
stiva.push(k);
}
void Afisare()
{
while(!stiva.empty())
{
fout << stiva.top() << ' ';
stiva.pop();
}
}
int main()
{
Citire();
for(int i=1; i<=n; i++)
if(!ap[i])
dfs(i);
Afisare();
return 0;
}