Pagini recente » Monitorul de evaluare | Cod sursa (job #1982812) | Cod sursa (job #2649755) | Cod sursa (job #363798) | Cod sursa (job #3289612)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n;
//bool adiacente[101][101];
vector<vector<int> > adiacente(101, vector<int>());
stack<int> st;
bool viz[101];
void sortTop(int x) {
viz[x] = true;
for (int vecin : adiacente[x]) {
if (!viz[vecin]) {
sortTop(vecin);
}
}
st.push(x);
}
void formMat(){
int x, y;
while(fin>>x>>y){
adiacente[x].push_back(y);
n=max(n, max(x, y));
}
}
int main(){
formMat();
for (int i = 1; i <= n; i++) {
if (!viz[i]) {
sortTop(i);
}
}
while(!st.empty()){
fout<<st.top()<<" ";
st.pop();
}
}