void topo()
{
int i = 0, j = 0, k = 0;
for (k = 0; k < n; k++)
{
for (i = 0; i < n; i++)
{
if (!flag[i]&&!degree[i])
{
flag[i] = 1;
for (j = 0; j < n; j++)
{
if (map[i][j])
degree[j]--;
}
break;
}
}
}
}
{
int i = 0, j = 0, k = 0;
for (k = 0; k < n; k++)
{
for (i = 0; i < n; i++)
{
if (!flag[i]&&!degree[i])
{
flag[i] = 1;
for (j = 0; j < n; j++)
{
if (map[i][j])
degree[j]--;
}
break;
}
}
}
}