Pascalの三角形 #4

create()を定義する前のpascal2.gの形に引きずられてうっかりしていたが、
ノードを作成する部分はもっと簡単にできるのだった。
q[0], q[i]の作成部分はforループ本体と全く同じ形なので、

...snip
  for (i = 0; i <= step; i++) {
# create nodes in i-th step
    for (j = 0; j <= i; j++) q[j] = create(j);
# create edges from (i-1)-th step to i-th step
...snip

のようにforループだけにまとめられる。
できるだけ同じ形で呼べるようにcreate()の中でせっかく条件判断しているのに、
呼び方だけ同じになったことで満足して、
さらに記述をシンプルにすることに活かしていなかった。