Pagini recente » Cod sursa (job #3242356) | Cod sursa (job #2835645) | Cod sursa (job #1771808) | Cod sursa (job #2080200) | Cod sursa (job #1233897)
#include <fstream>
#include<vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int>a[50001];
int i,m,n,x,y,nr[50001],viz[50001],q[50001],u,p;
int main(){
f>>n>>m;
for (i=1;i<=m;i++){
f>>x>>y;
a[x].push_back(y);
if (x!=y)
viz[y]++;
}
for (i=1;i<=n;i++)
nr[i]=a[i].size();
p=1;
for (i=1;i<=n;i++)
if (viz[i]==0){
u++;
q[u]=i;
}
while (p<=u){
for (i=0;i<nr[q[p]];i++){
viz[a[q[p]][i]]--;
if (viz[a[q[p]][i]]==0){
u++;
q[u]=a[q[p]][i];
}
}
g<<q[p]<<" ";
p++;
}
return 0;
}