Pagini recente » Cod sursa (job #2302772) | Cod sursa (job #2517360) | Cod sursa (job #2736348) | Cod sursa (job #947360) | Cod sursa (job #929920)
Cod sursa(job #929920)
#include <iostream>
#include<fstream>
// reconstitui ordinea prin relatii
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int i, j, pred[100],v[100];
int suc[100][100],nr[100],n,t=0;
int caut(int pred[], int n)
{int i;
for(i=1;i<=n;i++)
if(pred[i]==0&&v[i])return i;
return 0;
}
int main()
{
while(f>>i>>j)
{pred[j]++;
nr[i]++;
suc[nr[i]][i]=j;
if(i>n)n=i;
if(j>n)n=j;
}
for(i=1;i<=n;i++)v[i]=1;
do
{i=caut(pred,n);
if(i!=0)if(v[i]){
g<<i<<' ';t++;
v[i]=0;
for(j=1;j<=nr[i];j++)
pred[suc[j][i]]--;
}
}
while(i!=0&&t<=n);
if(t<n)g<<"nu avem solutie";
f.close();
g.close();
return 0;
}