Pagini recente » Cod sursa (job #2471020) | Cod sursa (job #2857638) | Cod sursa (job #131811) | Cod sursa (job #2655319) | Cod sursa (job #2207296)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
using namespace std;
void dfs(vector<vector<int> > &v,vector<int> &disc,stack<int> &st,int i) {
disc[i] = 1;
for(int j=0;j<v[i].size();j++)
if (!disc[v[i][j]]) {
dfs(v, disc, st,v[i][j]);
}
st.push(i);
}
int main() {
int n, a,b;
ifstream f("sortaret.in");
ofstream f1("sortaret.out");
f >> n >> a;
vector<vector<int> > graf(n);
vector<int> disc(n,0);
stack<int> s;
while (f >> a >> b) {
graf[a - 1].push_back(b - 1);
}
dfs(graf, disc, s, 0);
while(!s.empty()){
f1 << s.top()+1<<" ";
s.pop();
}
return 0;
}