Pagini recente » Cod sursa (job #2880861) | Cod sursa (job #1887629) | Cod sursa (job #2754441) | Istoria paginii problema/album | Cod sursa (job #1640768)
#include <iostream>
#include <fstream>
#include <vector>
#define Nmax 50005
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector < int > v[Nmax];
vector < int > sol;
int n,m,viz[Nmax];
void pas(int x)
{
viz[x]=1;
vector <int > :: iterator ivector = v[x].begin();
for(;ivector!=v[x].end();ivector++)
if(!viz[*ivector])
pas(*ivector);
sol.push_back(x);
}
void sortare()
{
for(int i=1;i<=n;i++)
if(!viz[i])pas(i);
}
void afis()
{
vector <int > :: iterator ivector = sol.begin();
for(;ivector!=sol.end();ivector++)
fout<<*ivector<<' ';
}
int main()
{
fin>>n>>m;
for(;m;m--)
{
int x,y;
fin>>x>>y;
v[y].push_back(x);
}
sortare();
afis();
return 0;
}