Pagini recente » Cod sursa (job #2970853) | Istoria paginii monthly-2014/runda-1 | Cod sursa (job #3292714) | Rating umpa lumpa (umpalumpa) | Cod sursa (job #1114546)
#include <fstream>
using namespace std;
int succ[49901][100],pred[50001],q[50001];
int main()
{
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n,r,a,b;
int i,j;
in>>n;
in>>r;
for(i=1;i<=r;i++)
{
in>>a>>b;
pred[b]++;
succ[a][0]++;
succ[a][succ[a][0]]=b;
}
int p=1;
int u=0;
for(i=1;i<=n;i++)
if(pred[i]==0) q[++u]=i;
while(p<=u)
{
int t=q[p];
for(i=1;i<=succ[t][0];i++)
{
pred[succ[t][i]]--;
if(pred[succ[t][i]]==0) q[++u]=succ[t][i];
}
p++;
}
if(u==n)
for(j=1;j<=u;j++)
out<<q[j]<<" ";
else out<<"-1";
return 0;
}