Pagini recente » Cod sursa (job #1649202) | Cod sursa (job #2026892) | Cod sursa (job #78068) | Cod sursa (job #2030228) | Cod sursa (job #963183)
Cod sursa(job #963183)
#include <fstream>
#include <deque>
#include <list>
using namespace std;
int n,m;
struct nod
{
int grad_interior;
list<int> iese;
}v[50005];
int coada[50005];
int main()
{
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
int poz=0;
int i,a,b;
cin>>n>>m;
for(i=0;i<m;i++)
{
cin>>a>>b;
a--;
b--;
v[b].grad_interior++;
v[a].iese.push_back(b);
}
for(i=0;i<n;i++)
if(v[i].grad_interior==0)
coada[++poz]=i;
list<int>::iterator p;
for(i=1;i<=n;i++)
{
cout<<coada[i]+1<<'\n';
for(p=v[coada[i]].iese.begin();p!=v[coada[i]].iese.end();p++)
{
v[(*p)].grad_interior--;
if(v[(*p)].grad_interior==0)
coada[++poz]=*p;
}
}
cin.close();
cout.close();
return 0;
}