Pagini recente » Cod sursa (job #703780) | Cod sursa (job #199982) | Cod sursa (job #723246) | Cod sursa (job #1720052) | Cod sursa (job #2011987)
#include <fstream>
#include <vector>
#define in "sortaret.in"
#define out "sortaret.out"
#define N 50003
using namespace std;
ifstream fin(in);
ofstream fout(out);
vector<int> v[N];
int n,m,x,y;
bool f[N];
int grint[N];
inline void DFS(const int& nod)
{
fout<<nod<<" ";
vector<int>::iterator it;
for(it = v[nod].begin(); it != v[nod].end(); ++it)
if(--grint[*it] == 0)
if(!f[*it])
{
f[*it] = 1;
DFS(*it);
}
}
int main()
{
fin>>n>>m;
while(m--)
{
fin>>x>>y;
v[x].push_back(y);
++grint[y];
}
for(int i=1; i<=n; ++i)
if(!f[i] && !grint[i])
DFS(i);
fin.close(); fout.close();
return 0;
}