Pagini recente » Cod sursa (job #2900078) | Cod sursa (job #808593) | Cod sursa (job #2602796) | Cod sursa (job #2878922) | Cod sursa (job #3270896)
#include <bits/stdc++.h>
using namespace std;
vector <int> v[100001];
bool verif[100001];
int st[100001];
int cnt;
void dfs(int nod)
{
verif[nod] = 1;
st[cnt] = nod;
cnt++;
for(auto y:v[nod])
{
if(!verif[y]) dfs(y); ///mergem recursiv prin nodurile nevizitate
}
}
int main()
{
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int N, M;
f >> N >> M;
for (int i = 1; i <= M; i++)
{
int X, Y;
f >> X >> Y;
v[X].push_back(Y);
}
for (int i = 1; i <= N; i++)
{
if(!verif[i]) dfs(i);
}
for (int i = 0; i < cnt; i++)
{
g << st[i] << " ";
}
return 0;
}