Pagini recente » Cod sursa (job #1660463) | Cod sursa (job #2690887) | Cod sursa (job #1229000) | Cod sursa (job #220636) | Cod sursa (job #3219973)
#include <bits/stdc++.h>
#include <iterator>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n, m;
bool Used[50001];
struct Node
{
int info;
Node *next;
};
Node *head, *lista[50001];
void DFS(int node)
{
Node *start = lista[node];
while (start)
{
if (!Used[start->info])
{
Used[start->info] = 1;
DFS(start->info);
}
start = start->next;
}
Node *nou = new Node;
nou->info = node;
nou->next = head;
head = nou;
}
int main()
{
fin >> n >> m;
int a, b, i;
for (i = 1; i <= m; i++)
{
fin >> a >> b;
Node *nou = new Node;
nou->info = b;
nou->next = lista[a];
lista[a] = nou;
}
for (i = 1; i <= n; i++)
{
if (!Used[i])
DFS(i);
}
Node *parcurgere = head;
while (parcurgere)
{
fout << parcurgere->info << ' ';
parcurgere = parcurgere->next;
}
return 0;
}