Pagini recente » Borderou de evaluare (job #853669) | Cod sursa (job #3212959) | Cod sursa (job #2021262) | Cod sursa (job #1875172) | Cod sursa (job #864120)
Cod sursa(job #864120)
#include<fstream>
#include<vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,a,b,u;
vector<int> x[50010];
vector<int>:: iterator it;
unsigned short c[50010],d[50010];
int main(){
f>>n>>m;
for(int i=1;i<=m;++i){
f>>a>>b;
x[a].push_back(b);
d[b]++;
}
for(int i=1;i<=n;++i)
if(d[i]==0){
c[++u]=i;
}
for(int i=1;i<=n;++i){
a=c[i];
for(it=x[a].begin();it!=x[a].end();++it){
d[*it]--;
if(d[*it]==0) c[++u]=*it;
}
}
for(int i=1;i<=n;++i)
g<<c[i]<<' ';
g<<'\n';
g.close();
return 0;
}