Pagini recente » Cod sursa (job #2935266) | Cod sursa (job #299905) | Cod sursa (job #1428371) | Cod sursa (job #121939) | Cod sursa (job #1459202)
#include<iostream>
#include<fstream>
#include<deque>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
#define MAX 50001
struct Node
{
Node *next;
int val;
}*A[MAX],*S;
int v[MAX],N,M;
void insert_to_list(Node *&list,int val)
{
Node *p=new Node;
p->val=val;
p->next=list;
list=p;
}
void DFS(int e)
{
v[e]=1;
Node *p=A[e];
while(p)
{
if(!v[p->val])
{
v[p->val]=1;
DFS(p->val);
}
p=p->next;
}
insert_to_list(S,e);
}
int main()
{
in>>N>>M;
int w,u;
for(int i=1;i<=M;i++)
{
in>>w>>u;
insert_to_list(A[w],u);
}
for(int i=1;i<=N;i++)
{
if(!v[i])
DFS(i);
}
Node *temp=S;
while(temp)
{
out<<temp->val<<" ";
temp=temp->next;
}
return 0;
}