Pagini recente » Cod sursa (job #2260128) | Cod sursa (job #1345131) | Cod sursa (job #2538444) | Cod sursa (job #1318874) | Cod sursa (job #2722126)
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define INF 2e9
#define NMAX 150005
#define PMAX 3500
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m;
vector<int> adj[50005];
int grad[50005],Q[50005];
void solve()
{
for(int i=1;i<=n;i++)
{
if(grad[i]==0)
{
Q[++Q[0]]=i;
}
}
for(int i=1;i<=n;i++)
{
int node=Q[i];
for(int j=0;j<adj[node].size();j++)
{
int vec=adj[node][j];
grad[vec]--;
if(grad[vec]==0)
{
Q[++Q[0]]=vec;
}
}
}
for(int i=1;i<=n;i++)
{
g<<Q[i]<<" ";
}
}
int main()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
adj[x].pb(y);
grad[y]++;
}
solve();
}