Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Помогите кто-нибудь!!!

Автор: gula 24.11.2002 20:37

Пожалуйста, помогите понять задачу.
Задача о почтовых марках.
Почтовая служба выпускает марки N различных стоимостей и запрещает наклеивать на конверты больше, чем M марок вместе. Стоимость почтового отправления может быть любым натуральным числом.
По заданным N и M вычислить наибольшее целое число B и все возможные наборы марок, такие, что все стоимости от 1 до B можно оплатить марками набора при указанных выше условиях.

Автор: mj 29.11.2002 6:38

Хоть кто нибудь понял условия ?
Я нет  ???

Автор: Clane 29.11.2002 15:46

Да уж, мудренная задачка..

Автор: Alex 30.11.2002 0:02

Если уж вы гиганты по задачам не поняли условие то уж я и подавно!!!

Автор: Shadow 18.03.2003 3:12

а цифры подставить место букв попробуй может поможет легкие и вручную подсчитать :-*

Автор: GLuk 19.03.2003 12:47

{ :o}
Uses
   Crt;
Const
    N = 5; {Количество стоимостей марок}
    Cost : array[1..N] of Word = (1,5,2,4,3); {Цены}
    M = 3; {Максимальное количество наклеиваемых марок}
Var
  i,j,k:Integer;
  MaxN,MaxB,Max:Word;
  a:array[1..1000] of Boolean;
  Comb:Single;
Begin
    ClrScr;
    For i:=1 to 1000 do a[i]:=False;
    {Считаем максимальную сумму}
    MaxN:=1;
    For i:=1 to N do
    If Cost[i]>Cost[MaxN] then MaxN:=i;
    MaxB:=0;
    For i:=1 to M do Inc(MaxB,Cost[MaxN]);
    WriteLn(#32#249#32'Максимальная стоимость B = ',MaxB);
    {Считаем максимальное количество комбинаций для значения N не считая декремент M}
    Comb:=1;
    For i:=1 to M do Comb:=Comb*N;
    WriteLn(#32#249#32'Максимальное количество комбинаций  = ', Comb:3:0);
    {Дальше думай сам, комбинаторику я не проходил, но во всяком случае есть возможность исключить кучу ненужных комбинаций из матрицы, получаемой перебором всего массива}  
End.