Pagini recente » Cod sursa (job #1105802) | Cod sursa (job #334663) | Cod sursa (job #858154) | Cod sursa (job #354372) | Cod sursa (job #2807838)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#include <bitset>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector < int > graf[50005];
bitset < 50005 > viz;
stack < int > st;
void dfs(int start)
{
viz[start] = true;
for(auto k : graf[start])
{
if(!viz[k])
dfs(k);
}
st.push(start);
}
int main()
{
int n, m, a, b;
fin>>n>>m;
for(int i = 1; i <= m; ++i)
{
fin>>a>>b;
graf[a].push_back(b);
}
for(int i = 1; i <= n; ++i)
{
if(!viz[i])
dfs(i);
}
while(!st.empty())
{
fout<<st.top()<<' ';
st.pop();
}
return 0;
}