Pagini recente » Cod sursa (job #1378539) | Cod sursa (job #1203828) | Cod sursa (job #1977679) | Cod sursa (job #2605889) | Cod sursa (job #1228133)
#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 viz1[50001],viz2[50001];
int main()
{
f>>n>>m;
for(i=1;i<=m;i++){
f>>x>>y;
a[x].push_back(y);
++nre[x];
viz1[y]=1;
}
p=1;
for(k=1;k<=n;k++)
if(viz1[k]==0){
q[p]=k;
g<<k<<' ';
viz2[k]=1;
u=p;
while(p<=u){
for(i=0;i<nre[q[p]];i++)
if(viz2[a[q[p]][i]]==0){
viz2[a[q[p]][i]]=1;
q[++u]=a[q[p]][i];
g<<q[u]<<' ';
}
p++;
}
}
return 0;
}