Pagini recente » Cod sursa (job #1330106) | Cod sursa (job #815213) | Cod sursa (job #1450972) | Cod sursa (job #28345) | Cod sursa (job #1228138)
#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];
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;
}