Pagini recente » Cod sursa (job #662709) | Cod sursa (job #2083756) | Cod sursa (job #1949825) | Cod sursa (job #863012) | Cod sursa (job #1228139)
#include <fstream>
#include <vector>
#include <string.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> a[50001];
int x,y,m,n,i,k,nre[50001],p,u,q[50001];
bool viz[50001];
int main()
{
f>>n>>m;
for(i=1;i<=m;i++){
f>>x>>y;
a[x].push_back(y);
++nre[x];
if(x!=y)
viz[y]=1;
}
p=1;
for(k=1;k<=n;k++)
if(viz[k]==0){
q[++u]=k;
g<<q[u]<<' ';
}
while(p<=u){
for(i=0;i<nre[q[p]];i++)
if(viz[a[q[p]][i]]){
viz[a[q[p]][i]]=0;
q[++u]=a[q[p]][i];
g<<q[u]<<' ';
}
p++;
}
return 0;
}