Pagini recente » Cod sursa (job #1466435) | Cod sursa (job #827941) | Cod sursa (job #798122) | Cod sursa (job #1655848) | Cod sursa (job #963112)
Cod sursa(job #963112)
#include <fstream>
#include <vector>
using namespace std;
const char iname[] = "sortaret.in";
const char oname[] = "sortaret.out";
ifstream fin(iname);
ofstream fout(oname);
int N, M, X, Y, i, j;
vector <int> v[50004];
vector <int> Sorted;
bool viz[50004];
void DFS(int nod){
vector <int> :: iterator it;
viz[nod] = true;
for (it = v[nod].begin(); it != v[nod].end(); ++it)
if (!viz[*it]) DFS(*it);
Sorted.push_back(nod);
}
int main(){
fin >> N >> M;
while (M--){
fin >> X >> Y;
v[X].push_back(Y);
}
for (i = 1; i <= N; ++i)
if (!viz[i]) DFS(i);
vector <int> :: iterator it;
for (it = Sorted.begin(); it != Sorted.end(); ++it)
fout << *it << ' ';
fout << '\n';
return 0;
}