Pagini recente » Cod sursa (job #3143302) | IAP #2: Concurs pentru studenti | Cod sursa (job #1629098) | Cod sursa (job #3140774) | Cod sursa (job #448705)
Cod sursa(job #448705)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct node
{
int x;
node *kov;
};
int n,m,x,y,latott[50000],w[50000],db;
node *v[50000];
int betesz()
{
node *p;
p = new node;
p->x=y;
p->kov=v[x];
v[x]=p;
return 0;
}
int topo(int cs)
{
latott[cs]=1;
node *p=v[cs];
while(p!=NULL)
{
if(latott[p->x]==0)
topo(p->x);
p=p->kov;
}
w[db]=cs;
db--;
return 0;
}
int main()
{
fin>>n>>m;
db=n;
for(int i=1;i<=m;i++)
{
fin>>x>>y;
betesz();
}
/*for(int i=1;i<=n;i++)
{
cout<<i<<' ';
node *p=v[i];
while(p!=NULL)
{
cout<<p->x<<' ';
p=p->kov;
}
cout<<'\n';
}*/
for(int i=1;i<=n;i++)
{
if(latott[i]==0)
topo(i);
}
for(int i=n;i>=1;i--)
{
fout<<w[i]<<' ';
}
return 0;
}