Pagini recente » Cod sursa (job #1718805) | Rating Ulici Alexandru (Razer) | Cod sursa (job #1484798) | Cod sursa (job #1770514) | Cod sursa (job #2130056)
#include <fstream>
#include <vector>
#define NMAX 50005
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int nr, n, m;
vector <int> G[NMAX];
vector <int> niv(NMAX);
vector <int> gi(NMAX);
void citire();
void sortare();
int main()
{citire();
sortare();
return 0;
fin.close();
fout.close();
}
void citire()
{int i, x, y;
fin>>n>>m;
for (i=1; i<=m; i++)
{fin>>x>>y;
G[x].push_back(y);
gi[y]++;
}
}
void sortare()
{int i, j, lg;
while (nr<n)
{lg=0;
for (i=1; i<=n; i++)
if (gi[i]==0)
niv[++lg]=i;
for (i=1; i<=lg; i++)
{fout<<niv[i]<<' ';
gi[niv[i]]=-1; nr++;
for (j=0; j<G[niv[i]].size(); j++)
gi[G[niv[i]][j]]--;
}
}
}