Требуется лишь перебрать все возможные множества министров (это пройдёт по времени, так как \(2^{10}\) на порядки меньше, чем \(10^8\)). Перебирать можно, например, так — закодируем наборы министров N битами. Все N-битные последовательности — это просто все натуральные числа от 0 до \(2^N-1\). Это и будут границы цикла for.
А наборы областей можно получать, например, объединением множеств.