Pagini recente » Cod sursa (job #953439) | Cod sursa (job #2745348) | Cod sursa (job #2640086) | Cod sursa (job #1361742) | Cod sursa (job #926920)
Cod sursa(job #926920)
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>
#include <algorithm>
using namespace std;
vector< vector<int> > v;
vector<int> c, o;
deque<int> ord;
deque<int>::iterator qt;
int n, m, a, b;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void citire(){
f>>n>>m;
v.resize(n+1);
//ord.resize(n+1);
c.resize(n+1);
for(int i=1; i<=m; ++i)
f>>a>>b, v[a].push_back(b);
}
void df(int x){
c[x]=1;
vector<int>::iterator it;
for(it=v[x].begin(); it!=v[x].end(); ++it)
if(!c[*it])
df(*it);
ord.push_back(x);
}
int main()
{
citire();
for(int i=1; i<=n; ++i)
if(!c[i])
df(i);
// for(it=o.end()-1;it!=o.begin();--it) cout<<*qt<<' ';
for(qt=ord.begin(); qt!=ord.end(); ++qt) g<<*qt<<' ';
g.close();
return 0;
}