Pagini recente » mafia_de_pe_infoarena | Cod sursa (job #2487363) | Cod sursa (job #3124218) | Cod sursa (job #2102233) | Cod sursa (job #1117067)
#include <iostream>
#include <fstream>
#include <list>
#include <vector>
#define NMax 500001
using namespace std;
list<int> v[NMax];
list<int> L;
vector<bool> viz;
vector<int> extD;
int n, m, x, y;
void visit(int i){
viz[i]=true;
for(list<int>::iterator it=v[i].begin(); it!=v[i].end();it++)
if(!viz[*it])
visit(*it);
L.push_front(i);
}
int main(){
extD=vector<int>(n+1, 0);
ifstream f("sortaret.in");
f>>n>>m;
while(f>>x>>y)
v[x].push_back(y), extD[y]++;
viz=vector<bool>(n+1, false);
for(int i=1;i<=n;i++)
if(!extD[i])visit(i);
ofstream g("sortaret.out");
for(list<int>::iterator it=L.begin(); it!=L.end();it++)
g<<*it<<" ";
return 0;
}