Pagini recente » Cod sursa (job #2097315) | Cod sursa (job #2731155) | Sopterean Adrian | Cod sursa (job #341976) | Cod sursa (job #538270)
Cod sursa(job #538270)
#include <fstream.h>
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,Matrice[50001][50001],gri[50001];
//aduna toate valorile de pe linia i
int max(int i)
{
int suma=0;
for(int j=1;j<=n;j++)
if(Matrice[j][i]==1)
suma++;
return suma;
}
int main()
{
int i,j,x,y;
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
Matrice[x][y]=1;
}
for(i=1;i<=n;i++)
gri[i]=max(i);
int nr=0;
while(nr!=n)
{
for(int i=1;i<=n;i++)
//Daca gasesc 0, atunci merg in matrice pe linia punctului unde am gasit zero si fiecarui vecin ii fac -- in gri;
if(gri[i]==0)
{
g<<i;
for(int j=1;j<=n;j++)
if(Matrice[i][j]==1)
{
gri[j]--;
Matrice[i][j]=0;
}
gri[i]=-1;
}
nr++;
}
}