Pagini recente » Cod sursa (job #83877) | Cod sursa (job #1055754) | Cod sursa (job #554931) | Cod sursa (job #2360182) | Cod sursa (job #1326846)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
fstream fout("sortaret.out", ios::out);
int n, m, p[50100];
queue <int> q;
struct node{
int inf;
node *next;
};
struct node *list[50100];
void add(node *&root, int n){
node *elem=new node;
elem->inf=n;
elem->next=root;
root=elem;
}
void read(){
fstream fin("sortaret.in", ios::in);
fin>>n>>m;
for(int i=1; i<=n; i++){
int x, y;
fin>>x>>y;
add(list[x], y);
}
fin.close();
}
void DFS(int s){
p[s]=1;
node *root=list[s];
while(root){
if(!p[root->inf]) DFS(root->inf);
root=root->next;
}
q.push(s);
}
int main()
{
read();
for(int i=1; i<=n; i++)
if(!p[i]) DFS(i);
while(q.size()!=0){
fout<<q.front()<<" ";
q.pop();
}
fout.close();
return 0;
}