All pastes #165835 Raw Edit

Casanova

public text v1 · immutable
·published 2006-09-10 06:34 UTC
rendered paste body
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