Pagini recente » Cod sursa (job #2920431) | Cod sursa (job #293797) | Cod sursa (job #1221619) | Cod sursa (job #3128580) | Cod sursa (job #1775389)
//#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#define FOR(i,k,v) for(i = k; i <= v; i++)
using namespace std;
int n,m,i,j,x,y,now,meret;
bool van[50001];
queue <int> c;
class pont
{
public:
int bef;
vector <int> ki;
}t[50001];
int main()
{
ifstream be("sortaret.in");
ofstream cout("sortaret.out");
be>>n>>m;
FOR(i,1,m)
{
be>>x>>y;
van[y] = true;
t[y].bef++;
t[x].ki.push_back(y);
}
FOR(i,1,n)
{
if(!van[i])
{
c.push(i);
van[i] = true;
}
}
while(!c.empty())
{
now = c.front();
c.pop();
cout<<now<<" ";
meret = t[now].ki.size();
FOR(i,0,meret-1)
{
t[t[now].ki[i]].bef--;
if(t[t[now].ki[i]].bef == 0)
{
c.push(t[now].ki[i]);
}
}
}
return 0;
}