Pagini recente » Cod sursa (job #1157929) | Cod sursa (job #2856067) | Cod sursa (job #2698624) | Cod sursa (job #1542880) | Cod sursa (job #3187030)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#define nl '\n'
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int NMAX = 5*1e4+2;
int n, m, fr[NMAX];
vector<int> adj[NMAX];
stack<int> st;
void dfs(int x)
{
fr[x] = 1;
for (int y : adj[x])
if (!fr[y])
dfs(y);
st.push(x);
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
fin >> n >> m;
for (int i = 1; i <= m; i++)
{
int u, v;
fin >> u >> v;
adj[u].push_back(v);
}
for (int i = 1; i <= n; i++)
if (!fr[i])
dfs(i);
while (!st.empty())
{
fout << st.top() << ' ';
st.pop();
}
return 0;
}