Uma estrutura de dados que é interessante para seu projeto é o uso de bitmask/bitvector para armazenar informações binárias no espaço de um bit.

Facilita e otimiza o projeto