質問があります。
ruby 1.8.1 (2003-12-25) [i386-cygwin]
このバージョンのirbで以下のものを実行しました。

irb(main):001:0> a=[[],[]]
=> [[], []]
irb(main):002:0>
irb(main):003:0* irb(main):003:0> exit
p2c$ irb
irb(main):001:0> a=[[],[]]
=> [[], []]
irb(main):002:0> a.fill([])
=> [[], []]
irb(main):003:0> a[0].push("a")
=> ["a"]
irb(main):004:0> a[1].push("c")
=> ["a", "c"]
irb(main):005:0> a
=> [["a", "c"], ["a", "c"]]

この動きっておかしくないですか?