Pagini recente » Cod sursa (job #3160985) | Cod sursa (job #2180661) | Cod sursa (job #805842) | Cod sursa (job #1446315) | Cod sursa (job #1171324)
#include <iostream>
#include <fstream>
#include <vector>
#define nmax 50001
using namespace std;
int n, m;
bool VIZ[nmax];
vector <int> VECIN[nmax];
vector <int> V;
void dfs(int nod){
VIZ[nod] = 1;
for (int i=0; i<VECIN[nod].size(); i++)
if (!VIZ[VECIN[nod][i]]) dfs(VECIN[nod][i]);
V.push_back(nod);
}
int main(){
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int a, b, i;
in >> n >> m;
for (i=1; i<=m; i++)
in >> a >> b,
VECIN[a].push_back(b);
for (i=1; i<=n; i++)
if (!VIZ[i]) dfs(i);
for (i=n-1; i>=0; i--) out << V[i] << " "; out << "\n";
return 0;
}