Casanova
public text v1 · immutablelen = 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