Pagini recente » Borderou de evaluare (job #2321064) | Cod sursa (job #613076)
Cod sursa(job #613076)
//CU STL
#include <fstream>
#define N 50005
#include <vector.h>
using namespace std;
vector< vector<int> > v(N);
int viz[N];
int sortop[N];
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n, m;
void read() {
f >> n >> m;
for(int i = 1; i <= m; i++) {
int st, end;
f >> st >> end;
v[st].push_back(end);
}
}
void write() {
for(int i = sortop[0]; i > 0 ; i--)
g << sortop[i] << " ";
}
void df(int s) {
viz[s] = 1;
for(int it = 0; it < v[s].size(); it++)
if(!viz[v[s][it]])
df(v[s][it]);
sortop[++sortop[0]] = s;
}
void solve() {
for(int i = 1; i <= n; i++)
if(!viz[i])
df(i);
}
int main()
{
read();
solve();
write();
return 0;
}