Pagini recente » Cod sursa (job #1229786) | Cod sursa (job #3005008) | Cod sursa (job #2763668) | Istoria paginii runda/azidela18simularea | Cod sursa (job #2564714)
#include <vector>
#include <fstream>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
int has[50001], i = 0;
vector<int> link[50001], v, out;
int main(){
int n, m;
cin>>n>>m;
for(int x = 1, a, b;x<=m;x++){
cin>>a>>b;
has[b]++;
link[a].push_back(b);
}
for(int x = 1;x<=n;x++){
if(!has[x]){
v.push_back(x);
}
}
while(i < v.size()){
out.push_back(v[i]);
for(int x : link[v[i]]){
has[x]--;
if(!has[x])
v.push_back(x);
}
i++;
}
for(int x = 0;x<out.size();x++)
cout<<out[x]<<' ';
return 0;
}