Диана - менеджер кэмпа по программированию, поэтому она решила, что в классах кэмпа не хватает комнатных растений и купила цветы. Диана считает, что так она не только улучшит атмосферу в классах, но и заодно самочувствие детей и их тренеров. Но есть проблема! Все мы знаем, что в кэмпе учатся только умные дети, поэтому нельзя расставлять цветы как попало. У Дианы есть n горшков с цветами, которые она хочет расставить по подоконникам класса, высота i-того цветка равна i дюймам. Диана считает, что порядок цветков на подоконнике является правильным, только если разница высот, стоящих рядом цветков, не превосходит 3 сантиметра. Задача - вывести все возможные правильные расставления цветов на подоконник. ответы выводить в лексикографическом порядке! Входные данные: Входные состоят из одного числа n(1 6 n 6 15) - количество цветков которые Адина хочет посадить. Выходные данные: Выведите все возможные посадить цветы. Для каждого выведите в отдельной строке n чисел - перестановку цветков. Каждый цветок должен входить в перестановку ровно один раз. Выведите в лексикографическом порядке. Пример ввода: 3 Пример вывода: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
признаком разветвляющегося алгоритма является наличие операций проверки условия. различают два вида условий – простые и составные.
простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще ), связанных одним из знаков:
< - меньше,
> - больше,
< = - меньше, или равно
> = - больше, или равно
< > - не равно
= - равно
например, простыми отношениями являются следующие:
x-y> 10; k< =sqr(c)+abs(a+b); 9< > 11; ‘мама’< > ‘папа’.
в примерах первые два отношения включают в себя переменные, поэтому о верности этих отношений можно судить только при подстановке некоторых значений:
если х=25, у=3, то отношение x-y> 10 будет верным, т.к. 25-3> 10
если х=5, у=30, то отношение x-y> 10 будет неверным, т.к. 5-30< 10
проверьте верность второго отношения при подстановке следующих значений:
а) k=5, a=1, b=-3, c=-8
b) k=65, a=10, b=-3, c=2
var m:array [0..14] of integer; i:integer;
function IsPositive(a:integer):boolean;
begin
result:=(a>-1);
end;
procedure work;
var min, max, count:integer;
begin
count:=0;
min:=m[0];
max:=0;
for i:=0 to 14 do begin
if IsPositive(m[i]) then begin
inc(count);
if m[i]>max then max:=m[i];
if m[i]<min then min:=m[i];
end;
end;
writeln('MAX: ', max);
writeln('MIN: ', min);
writeln('Count: ', count);
end;
begin
for i:=0 to 14 do begin
write('n: ');
readln(m[i]);
end;
work;
readln;
end.