def blankets
      colour_next_vertex! until painted?
      qv_blocks = Hash.new 0
      g_blocks  = Hash.new 0
      @qv_colours.each { |vertex, colour| qv_blocks[colour] |= vertex }
      @g_colours.each  { |vertex, colour| g_blocks[colour]  |= vertex }
      [Blanket.new(qv_blocks.values), Blanket.new(g_blocks.values)]
    end
def blankets
      colour_next_vertex! until painted?
      qv_blocks = Hash.new 0
      g_blocks  = Hash.new 0
      @qv_colours.each { |vertex, colour| qv_blocks[colour] |= vertex }
      @g_colours.each  { |vertex, colour| g_blocks[colour]  |= vertex }
      [Blanket.new(qv_blocks.values), Blanket.new(g_blocks.values)]
    end
rubocop:disable ClassLength