Главная страница
    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.013 c
2-1137567723
РВА
2006-01-18 10:02
2006.02.05
Создание массива в Blob поле


3-1133618563
JazY
2005-12-03 17:02
2006.02.05
Как добавить запись в DBGrid?


15-1137094497
Progamer
2006-01-12 22:34
2006.02.05
Пибиканье компа при загрузке...


15-1136991245
VEG
2006-01-11 17:54
2006.02.05
На сколько легально работают MP3 архивы типа delit.net?


15-1137162313
oldman
2006-01-13 17:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский