У меня есть список устройств и битовая маска каналов, на которых они находятся (каналы пронумерованы 0..3). Может быть до 256 устройств.
Например:
Device1: 1 0 0 1 (on channels 0, 3)
Device2: 0 1 1 0 (on channels 1, 2)
Device3: 1 1 0 0 (on channels 2, 3)
Мне нужно найти битовую маску каналов, которая приведет к тому, что сообщение будет получено всеми устройствами с наименьшим количеством ненужных сообщений.
Правильными битовыми масками результата, например, для данных являются 1 0 1 0
(канал 1 доставляет на устройство 2, а канал 3 - на устройство 1 и устройство 3) и 0 1 0 1
(канал 0 доставляет на устройство 1, а канал 2 - на устройство 2 и устройство 3), один из них все в порядке.
Result bitmask 1 1 0 0
будет плохим, потому что Device3 получит сообщение дважды.