Комбинаторика

  • Автор темы domik
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

domik

Гость
#1
короче есть двумерный массив в делфи забитый рандомно, размерность задается любая

например
16 90 68
23 12 48
88 55 44
41 35 94
0 77 8

вот как мне сделать все возможные N-ки чисел(сколько столбцов такая N-ка, в данном случае 3), в N-ке должно быть одно число из каждого столбика(два числа из одного столбика не могут быть), перестановки внутри N-ки не важны, то есть должно будет получится такие 3-ки чисел для этого примера.

16 90 68
16 90 48
16 90 44
16 90 94
16 90 8
16 12 68
16 12 48
16 12 44
16 12 94
16 12 8
16 55 68
16 55 48
16 55 44
16 55 94
16 55 8
.............
23 90 68
23 90 48
..............
0 77 68
0 77 48
0 77 44
0 77 94
0 77 8

вот, подскажите плз, завтра сдавать нужно, не знаю как этот алгоритм сделать...второй день парюсь, подозреваю что там должна быть рекурсия в рекурсии...
 
D

domik

Гость
#4
я в курсе что рекурсия, не могу её написать...

Для: Kmet
а если будет 100 на 100 массив?
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#7
и будет N*M.
эту задачу с другой сложность не решить
 
D

domik

Гость
#8
ок, ошибся, но это не меняет дела...не могу написать эту рекурсию
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#9
извиняюсь за выражение.... а на х..я вам рекурсия? это элементарная задача отлично решается иттреационным способом
 

acorn

PHP Developer
29.08.2004
585
3
#10
На олимпиадах я много баллов брал на рекурсиях - работает быстро и без особых проблем. Для меня - самый простой способ.. обычный рекурсивный перебор.
 
D

domik

Гость
#11
пробую написать ) надеюсь что нить получится )
 

Normann

Well-Known Member
09.08.2007
168
2
#12
Для: Acorn
Извините, чето не догоняю, а как такая задача решается путем рекурсии?
 
Статус
Закрыто для дальнейших ответов.