Pagini recente » Cod sursa (job #1166651) | Cod sursa (job #2850992) | Cod sursa (job #1607902) | Cod sursa (job #1311381) | Cod sursa (job #621173)
Cod sursa(job #621173)
#include<fstream>
#include<queue>
#include<iostream>
#include<vector>
#include<stdio.h>
using namespace std;
#define Max 50005
int n,m,timp=0;
vector<int> g[Max];
int sol[Max],color[Max];
void dfs(int nod)
{
int k,i;
color[nod]=1;
for(k=g[nod].size(),i=0;i<k;++i)
if (!color[g[nod][i]])
dfs(g[nod][i]);
sol[++timp]=nod;
}
int main(int nrargv, char* argv[])
{
ifstream f;
ofstream ff;
f.open("sortaret.in",ios::in);
ff.open("sortaret.out",ios::out);
int i,j;
f>>n>>m;
for(;m;--m)
{
f>>i>>j;
g[i].push_back(j);
}
for(i=1;i<=n;i++)
if (!color[i]) dfs(i);
for(i=n;i;--i)
ff<<sol[i]<<" ";
ff<<"\n";
f.close();
ff.close();
return 0;
}