len = array.length(); //generate transitive closure for (k = 0 to length) for (i = 0 to length) for (j = 0 to length) array [i][j] = array[i][j] && (arraj[i][k] || array[k][j]); // find degrees in = 0 out = 0 for (i=0 to length) { flag1 = 0; flag2 = 0; for (j=0 to length) { if (array[i][j] == 1 || (flag1 && i != j)) flag1 = 1; else flag1 = 0; if (array[j][i] == 1 || (flag2 && i != j)) flag2 = 1; else flag2 = 0; } if (flag1 == 1) out ++; if (flag2 == 1) in++; } print out, in