Pagini recente » Cod sursa (job #3201209) | Cod sursa (job #1286817) | Cod sursa (job #95703) | Cod sursa (job #813281) | Cod sursa (job #963099)
Cod sursa(job #963099)
#include <fstream>
#include <deque>
#include <list>
using namespace std;
int n,m;
struct nod
{
int grad_interior;
list<int> iese;
nod()
{
grad_interior=0;
}
}v[50005];
deque <int> coada;
int main()
{
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
int i,a,b;
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>a>>b;
v[b].grad_interior++;
v[a].iese.push_back(b);
}
for(i=1;i<=n;i++)
if(v[i].grad_interior==0)
coada.push_back(i);
deque<int>::iterator it;
list<int>::iterator p;
for(it=coada.begin();it!=coada.end();it++)
{
cout<<(*it)<<' ';
for(p=v[(*it)].iese.begin();p!=v[(*it)].iese.end();p++)
{
//cout<<"se scote pt. "<<*it<<' '<<*p<<endl;
v[(*p)].grad_interior--;
if(v[(*p)].grad_interior==0)
coada.push_back(*p);
}
}
cout<<'\n';
cin.close();
cout.close();
system("PAUSE");
return 0;
}