Pagini recente » Cod sursa (job #2930795) | Cod sursa (job #140463) | Cod sursa (job #108903) | Cod sursa (job #1316695) | Cod sursa (job #2690810)
#include <iostream>
#include <vector>
#include <fstream>
#include <stack>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int> list_vec[100002];
vector<int> viz;
int n;
stack<int> st;
void dfs(int start)
{
viz[start] = 1;
for(int i : list_vec[start])
{
if(!viz[i])
dfs(i);
}
st.push(start);
}
int main()
{
int n, m, i, u, v;
fin>>n>>m;
viz.assign(n + 1, 0);
for(i = 1; i <= m; ++i)
{
fin>>u>>v;
list_vec[u].push_back(v);
}
for(i = 1; i <= n; ++i)
{
if(!viz[i])
dfs(i);
}
while(!st.empty())
{
fout<<st.top()<<' ';
st.pop();
}
return 0;
}