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