Будет ли декартово произведение лучшим подходом для этого

Связанные вопросы:

У меня есть 25 отдельных проверок, которые мне нужны для проверки всех возможных комбинаций, я видел пару вопросов, связанных с тем, что я ищу. Ответы предполагали что-то вроде использования декартова произведения. Будет ли это лучшим методом для получения результатов, которые я ищу, или есть лучший способ?

Пример:

Подумайте о сетке чисел 9 на 9, начиная с 0-9 по осям X и Y:

|0|1|2|3|4|5|6|7|8|9|
|1|
|2|
|3|
|4|
|5|
|6|
|7|
|8|
|9|

Все отдельные проверки являются логическими (true = успешно, false = не удалось).

На оси X представлены все результаты испытаний. Пример:

|0|1|2|3|4|5|6|7|8|9|
|1|T|T|T|T|T|T|T|T|T|
|2|
|3|
|4|
|5|
|6|
|7|
|8|
|9|

А ось Y представляет все возможные комбинации, например:

|0|1|2|3|4|5|6|7|8|9|
|1|T|T|T|T|T|T|T|T|T|
|2|F|T|T|T|T|T|T|T|T|
|3|F|F|T|T|T|T|T|T|T|
|4|F|F|F|T|T|T|T|T|T|
|5|F|F|F|F|T|T|T|T|T|
|6|F|F|F|F|F|T|T|T|T|
|7|F|F|F|F|F|F|T|T|T|
|8|F|F|F|F|F|F|F|T|T|
|9|F|F|F|F|F|F|F|F|T|

Будет больше комбинаций оси Y, но я надеюсь, вы уловили суть.

Мой вопрос в том, как я могу решить все возможные комбинации?


person Phill Pafford    schedule 08.11.2012    source источник
comment
Я думаю, что это больше математический вопрос, чем вопрос программирования, не так ли? Возможно, вам больше повезет на math.stackexchange.com.   -  person Tivie    schedule 08.11.2012
comment
Мое предложение: вам нужно проверить результат в обратном порядке, это означает, что вы должны проверить комбинацию [9,9], если это не удается, проверьте [8,8], если [8,8] дает true, затем проверьте [8,9]. ... Я думаю, вы поняли.   -  person Mohamed Navas    schedule 23.11.2012
comment
Для ясности моего предложения проверяйте в обратном порядке по диагонали, пока не получите истину, затем идите слева направо, это может сократить общее время процесса.   -  person Mohamed Navas    schedule 23.11.2012