Pagini recente » Cod sursa (job #2548005) | Cod sursa (job #1733062) | Cod sursa (job #1440414) | Cod sursa (job #2512247) | Cod sursa (job #3219981)
#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];
Used[node] = 1;
while (start)
{
if (!Used[start->info])
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;
}