Pagini recente » Cod sursa (job #1361454) | Cod sursa (job #1656431) | Cod sursa (job #1859925) | Cod sursa (job #273526) | Cod sursa (job #963113)
Cod sursa(job #963113)
#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=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.push_back(i);
deque<int>::iterator it;
list<int>::iterator p;
for(it=coada.begin();it!=coada.end();it++)
{
cout<<(*it)+1<<' ';
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;
}