Pagini recente » Statistici sturm maria (baby_beatles) | Cod sursa (job #1471437) | Cod sursa (job #1099601) | Cod sursa (job #982233) | Cod sursa (job #2571362)
#include <bits/stdc++.h>
#define NMAX 50009
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int> g[NMAX];
vector<int> gt[NMAX];
int de[NMAX];
int n,m;
void citire();
priority_queue<int>H;
vector<int> sol;
int main()
{citire();
return 0;
}
void citire()
{int i,x,y;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x>>y;
g[x].push_back(y);
de[x]++;
gt[y].push_back(x);
}
for(i=1;i<=n;i++)
if(!de[i])
H.push(i);
while(!H.empty())
{
vector<int>act;
while(!H.empty())
{
act.push_back( H.top() );
sol.push_back(H.top());
H.pop();
}
for(i=0;i<act.size();i++)
{int nr=act[i];
for(int j=0;j< gt[nr].size();j++)
{de[ gt[nr][j]]--;
if(!de[ gt[nr][j]])
H.push(gt[nr][j]);
}
}
}
for(i=sol.size()-1;i>=0;i--)
fout<<sol[i]<<" ";
}