Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

Задача по программированию   Найти похожие ветки 

 
Тульский ©   (2006-01-13 09:12) [0]

На складе имеется N пустых мешков :)  Составить программу, которая бы  искала все возможные варианты расположения мешков относительно друг друга.
Пример. Имеется два мешка 1[] и 2[], тогда все варианты для них:
1. 1[] и 2[] - два пустых мешка
2. 1[2[]] - мешок 2[] положили в мешок 1[]
3. 2[1[]] - мешок 1[] положили в мешок 2[]

для трех мешков:
1. 1[] и 2[] и 3[] - три пустых мешка
2. 1[] и 2[3[]] - мешок 1[] пустой, а в 2[]  положили 3[]
...
ну так далее.


 
Думкин ©   (2006-01-13 09:16) [1]

Мешки с отметками(нумерацией)?


 
Тульский ©   (2006-01-13 09:21) [2]


> Думкин ©   (13.01.06 09:16) [1]

да


 
ЮЮ ©   (2006-01-13 09:26) [3]

Ну и в чем здесь сложность - генерировать N в степени N исходов (каждый мешок может находиться в любом из N-1 мешком и не находиться внутри ни одного мешка), исключая "циклические", как невозможные.
так в случае с 2-мя мешками вариант 1[2] и 2[1] - невозможен


 
зав.складом   (2006-01-13 09:31) [4]

мешки "математические"? и емкость их тоже не ограничена?
а то как же 750 пустых в один положишь 8-))


 
Тульский ©   (2006-01-13 09:34) [5]


> ЮЮ ©   (13.01.06 09:26) [3]
> Ну и в чем здесь сложность

:)
вот в этом

> генерировать N в степени N исходов (каждый мешок может находиться
> в любом из N-1 мешком и не находиться внутри ни одного мешка),
>  исключая "циклические", как невозможные


 
Тульский ©   (2006-01-13 09:34) [6]


> зав.складом   (13.01.06 09:31) [4]
> мешки "математические"? и емкость их тоже не ограничена?
>

не ограничена, конечно


 
Igorek ©   (2006-01-13 10:15) [7]

простая задача


 
Тульский ©   (2006-01-13 10:18) [8]


> Igorek ©   (13.01.06 10:15) [7]
> простая задача

Простейшая


 
MBo ©   (2006-01-13 14:13) [9]

для простоты реализации - NM не более 9 (однозначные числа)


procedure TForm12.Button1Click(Sender: TObject);
var
 NM: byte;

 procedure Meshki(s:string; b:byte);
 var
   bb: byte;
   ss: string;
 begin
   if b > NM then
     Memo1.Lines.Add(s)
   else begin
     Meshki(s + IntToStr(b) + " ", b + 1);
     for bb := Length(s) downto 1 do begin
       ss:=s;
       Insert(IntToStr(b), ss, bb);
       Meshki(ss, b + 1);
     end;
   end;
 end;

begin
NM := 4;
Meshki("", 1);
Memo1.Lines.Add(IntToStr(Memo1.Lines.Count) + " variants");
end;




Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
15-1135543511
версия для печати
2005-12-25 23:45
2006.02.05
Альтернативные источники энергии


10-1112809260
King of Lamers
2005-04-06 21:41
2006.02.05
Word. Установка курсора на заданную позицию в строке.


4-1133090172
_mmm
2005-11-27 14:16
2006.02.05
Нажата ли сейчас левая кнопка мыши?


15-1136987158
Lexer
2006-01-11 16:45
2006.02.05
Компьютер не вреден для здоровья


15-1137059969
Sandman29
2006-01-12 12:59
2006.02.05
Возможен ли резкий скачок температуры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский