Pagini recente » Cod sursa (job #228702) | Cod sursa (job #674357) | Cod sursa (job #442897) | Cod sursa (job #964294) | Cod sursa (job #410259)
Cod sursa(job #410259)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m;
long v[5000][5000],w[100000];
void elibereaza(int i);
void citire()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
int a,b;
f>>a>>b;
v[a][b]=1;
}
}
int grad(int x)
{
int gr=0;
for(int i=1;i<=n;i++)
gr+=v[i][x];
return gr;
}
int afisate=0;
void afisare()
{
while(afisate<n)
{
for(int i=1;i<=n;i++)
{
if(w[i]==0)
{
g<<i<<" ";
afisate++;
elibereaza(i);
w[i]--;
}
}
}
}
void elibereaza(int x)
{
for(int i=1;i<=n;i++)
if(v[x][i]>0)
w[i]--;
}
void fa_grad()
{
for(int i=1;i<=n;i++)
w[i]=grad(i);
}
int main()
{
citire();
fa_grad();
afisare();
}