Pagini recente » Borderou de evaluare (job #1761965) | Cod sursa (job #3268326) | Borderou de evaluare (job #1909173) | Borderou de evaluare (job #572528) | Cod sursa (job #2556862)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int k, n, m, a, b, i;
int sol[50005];
bitset <50005> f, f2;
vector <int> L[50005];
void dfs (int nod){
int vecin, i;
f2[nod] = 1;
for (i=0; i<L[nod].size(); i++){
vecin = L[nod][i];
if (f2[vecin] == 0){
dfs (vecin);
}
}
sol[++k] = nod;
}
int main(){
fin >> n >> m;
for (;m--;){
fin >> a >> b;
L[a].push_back(b);
f[b] = 1;
}
for (i=1; i<=n; i++){
if (f[i] == 0){
dfs (i);
}
}
for (i=n; i>=1; i--){
fout << sol[i] << " ";
}
return 0;
}
//recapitulare