Pagini recente » Cod sursa (job #793317) | Cod sursa (job #2943093) | Cod sursa (job #1896762) | Cod sursa (job #2291717) | Cod sursa (job #1136221)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,i,x,p,u,y,grad[50005],c[50005];
vector<int> l[50005];
vector<int>::iterator it;
int main() {
f>>n>>m;
for(i=1;i<=m;i++) {
f>>x>>y;
l[x].push_back(y);
grad[y]++;
}
u=0;
for(i=1;i<=n;i++)
if(grad[i]==0) {
u++;
c[u]=i;
}
p=1;
while(p<=u) {
x=c[p];
for(it=l[x].begin();it!=l[x].end();it++) {
grad[*it]--;
if(grad[*it]==0)
c[++u]=*it;
}
p++;
}
for(i=1;i<=u;i++)
g<<c[i]<<" ";
g<<"\n";
return 0;
}