Pagini recente » Cod sursa (job #359287) | Cod sursa (job #945155) | Cod sursa (job #2887686) | Cod sursa (job #2404355) | Cod sursa (job #2673816)
#include <fstream>
#include <deque>
#include <vector>
#include <bitset>
using namespace std;
vector<int> L[50010];
bitset<50010> v;
int nr[50010],sol[50010],i,n,m,x,y,k;
void dfs(int nod){
v[nod]=1;
for (int i=0;i<L[nod].size();i++){
int vecin=L[nod][i];
if (v[vecin]==0){
dfs(vecin);
}
}
sol[++k]=nod;
}
int main (){
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
fin>>n>>m;
while (fin>>x>>y){
L[x].push_back(y);
nr[y]++;
}
for (i=1;i<=n;i++){
if (nr[i]==0){
dfs(i);
}
}
for (i=k;i>=1;i--){
fout<<sol[i]<<" ";
}
return 0;
}