Pagini recente » Cod sursa (job #1193097) | Cod sursa (job #1400297) | Cod sursa (job #1407420) | Borderou de evaluare (job #2829852) | Cod sursa (job #1965405)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int S[50001];
bool VIZ[50001];
vector <int> G[50001];
void DFS(int x)
{
VIZ[x] = 1;
for(vector <int> :: iterator it = G[x].begin();it!=G[x].end();it++)
if(!VIZ[*it])
DFS(*it);
S[++S[0]] = x;
}
int main()
{
int n,m,i,a,b;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>a>>b;
G[a].push_back(b);
}
for(i=1;i<=n;i++)
if(!VIZ[i])
DFS(i);
for(i=S[0];i>=1;i--)
fout<<S[i]<<' ';
return 0;
}