Ну, ответ не совсем понятен из имен ваших массивов.
Предполагается, что у нас есть 4 массива:
- Даты выхода
- Даты возврата
- Станции покидания
- Станции прибытия
Тогда мы можем немного объяснить здесь. Давайте использовать обозначение | x | для представления мощности (количества элементов) массива [x], чтобы | Leaving Dates | общее количество дат, которые вы можете оставить.
Тогда | Даты выхода | * | Выходя из станций | * | Прибывающие станции | будет переводить на, выбрать дату, с которой нужно выехать, затем выбрать станцию, с которой нужно выйти, затем выбрать станцию, на которую нужно приехать, и сделать это всеми возможными способами. Так что, похоже, это то, что вы просите для поездок в один конец.
Теперь, практически, я собираюсь предположить, что это проблема реального мира, так что, скажем, мы решили отправиться из Саутгемптона в Йоркшир 20 июня, во время обратной поездки все, что нам разрешено выбрать на данный момент должна быть дата возвращения (т.е. я предполагаю, что вы хотите вернуться домой).
Таким образом, общее количество способов, которыми мы можем спланировать поездку туда и обратно, будет сначала спланировать поездку в одну сторону, как указано выше, а затем выбрать дату возвращения, которая будет | Даты ухода | * | Выходя из станций | * | Прибывающие станции | * | Дата возвращения |. Первые 3 условия выбирают поездку в один конец, как указано выше, а последний термин выбирает дату возврата из всех возможных дат. Конечно, если бы у нас была возможность вернуться на другую станцию, отличную от той, с которой мы вышли, то уравнение было бы (| Конечные даты | * | Конечные станции | * | Конечные станции |) * (| Дата возвращения | * | Покидающих станции |), или если бы мы могли даже покинуть станцию прибытия, отличную от той, к которой мы впервые прибыли (| даты окончания | * | покидающие станции | * | прибывающие станции |) * (| дата возвращения | * | Станции прибытия | * | Станции ухода |).