Pagini recente » Cod sursa (job #995630) | Cod sursa (job #706649) | Cod sursa (job #2541986) | Cod sursa (job #2333245) | Cod sursa (job #1419127)
#include<iostream>
#include<fstream>
#include<cmath>
#include<algorithm>
#include<vector>
#include<bitset>
#include<cstring>
#include<queue>
#define ull unsigned long long
#define ll long long
#define FOR(a,b,c) for (int a=b;a<=c; ++a)
#define ROF(a,b,c) for (int a=b;a>=c; --a)
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int N,M;
int rez[50005];
bool verif[50005];
vector<int> v[50005];
void depth(int);
int main()
{
f>>N>>M;
FOR (i,1,M)
{
int x,y;
f>>x>>y;
v[x].push_back(y);
}
FOR (i,1,N)
if (!verif[i])
depth(i);
ROF (i,rez[0],1)
g<<rez[i]<<' ';
f.close();g.close();
return 0;
}
void depth(int nod)
{
verif[nod]=true;
vector<int>::iterator it;
for (it=v[nod].begin();it<v[nod].end();++it)
if (!verif[*it])
depth(*it);
rez[++rez[0]]=nod;
}