Предмет: Информатика,
автор: Fhfhrrh
Петя играет с разноцветными кубиками. У него есть x красных, y зеленых и z синих кубиков. Он ставит кубики в ряд один за другим так, чтобы цвета соседних кубиков не совпадали. Какое максимальное количество кубиков можно поставить в ряд, с учетом этого условия?
Написать программу в паскале.
Заранее спасибо.
Ответы
Автор ответа:
0
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger('Кол-во красных, зеленых и синих кубиков:',3);
a.Sort;
var k:=a[0]*3; a[1]-=a[0]; a[2]-=a[0]; // тройки
if a[1]>0 then begin
k+=a[1]*2; a[2]-=a[1]; // пары
end;
if a[2]>0 then k+=1; // последний
Writeln('Максимальное количество в ряду равно ',k)
end.
Пример
Кол-во красных, зеленых и синих кубиков: 8 2 5
Максимальное количество в ряду равно 13
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger('Кол-во красных, зеленых и синих кубиков:',3);
a.Sort;
var k:=a[0]*3; a[1]-=a[0]; a[2]-=a[0]; // тройки
if a[1]>0 then begin
k+=a[1]*2; a[2]-=a[1]; // пары
end;
if a[2]>0 then k+=1; // последний
Writeln('Максимальное количество в ряду равно ',k)
end.
Пример
Кол-во красных, зеленых и синих кубиков: 8 2 5
Максимальное количество в ряду равно 13
Интересные вопросы
Предмет: Биология,
автор: d938999
Предмет: Математика,
автор: egosm
Предмет: Химия,
автор: evelinakulik912
Предмет: Русский язык,
автор: amirkhusainov
Предмет: Химия,
автор: sirrtru