Pagini recente » Cod sursa (job #2595046) | Cod sursa (job #2869425) | Borderou de evaluare (job #1519999) | Cod sursa (job #649312) | Cod sursa (job #1770972)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int NMAX = 50001;
vector<int> graf[NMAX];
stack<int> coada;
bool viz[NMAX];
void dfs(int nod)
{
viz[nod] = 1;
for(auto i: graf[nod])
if(!viz[i])
dfs(i);
coada.push(nod);
}
int main()
{
int n, m;
fin>>n>>m;
for(int i = 1; i <= m; i++)
{
int a, b;
fin>>a>>b;
graf[a].push_back(b);
}
for(int i = 1; i <= n; i++)
if(!viz[i])
dfs(i);
while(!coada.empty())
{
fout<<coada.top()<<' ';
coada.pop();
}
return 0;
}