Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.02.2016
Сообщений: 3
1

Задача о расстановке лавочек в парке

26.02.2016, 20:15. Показов 1692. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Условие
Лавочки в парке устроены следующим образом. Несколько одинаковых кубических гранитных блоков ставятся в ряд, а на них кладется гранитная плита (см. рисунок). Архитектор-модернист решил, что будет интереснее, если у всех лавочек расположение гранитных блоков-ножек будет разным (и не обязательно симметричным). При этом они располагаются так, чтобы плита не падала: для этого достаточно, чтобы и слева, и справа от центра плиты был хотя бы один гранитный блок или его часть (в частности, если центр плиты приходится на середину какого-нибудь блока, то и слева, и справа от центра плиты находится часть блока, и плита не падает).
Формат входных данных
В первой строке входного потока записаны два числа: L – длина лавочки и K – количество гранитных блоков-ножек. Оба числа натуральные и не превышают 10 000.
Во второй строке записано K различных целых неотрицательных чисел, задающих положение каждой ножки. Положение ножки определяется расстоянием от левого края плиты до левого края ножки (ножка – это куб размером 1×1×1). Ножки перечислены слева направо (то есть начиная с ножки с меньшим расстоянием до левого края)
Формат выходных данных
В выходном потоке требуется перечислить ножки, которые грабителям нужно оставить. Для каждой ножки нужно выдать ее положение, как оно задано во входном потоке. Ножки следует перечислять слева направо, как они встречаются во входном потоке.
Код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Var
cord:array[1..1000] of longint;
blk:array[1..1000] of real;
l,k,i,blr,rr,bll,kk:longint;
cer:real;
Begin
Read(l,k);
for i:=1 to k do
 Read(cord[i]);
 cer:=l/2;
 
bll:=cord[1];
blr:=1;
for i:=1 to round(cer) do
 begin
  if (cord[i]>bll) then
   begin
    bll:=cord[i];
    blr:=i;
   end;
 end;
 
kk:=cord[k];
rr:=k;
for i:=k downto round(cer) do
 begin
  if (cord[i]<kk) then
   begin
    kk:=cord[i];
    rr:=i;
   end;
 end;
write(blr,' ',rr);
end.
почемуто выдает неверный результат допустим
ввод:
13 4
1 4 8 11
вывод
4 8,а у меня 4 4
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2016, 20:15
Ответы с готовыми решениями:

Задача о расстановке королей на шахматной доске
Здравствуйте. Вообщем есть задача о расстановки королей, чтоб никто не бил друг друга. Аналог...

Задача о расстановке n ферзей на доске n на n: как избавиться от рекурсии?
Помогите упростить данный код. Что бы было все в одной функции #include&lt;iostream&gt; #include...

о расстановке ферзей
Известная задача о расстановке ферзей на шахматной доске так, чтобы они не били друг друга....

Путаница в расстановке промежутков
Здравствуйте! Помогите, пожалуйста, с задачкой. Найти плотность распределения случайной величины...

0
26.02.2016, 20:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2016, 20:15
Помогаю со студенческими работами здесь

Отсечения в задаче о расстановке ферзей
Надо решить задачу о расстановке K-ферзей не бьющих друг друга на n*n-шахматной доске(найти кол-во...

По расстановке связи между таблицами
Добрый вечер! Подскажите пожалуйста. У меня три таблицы кроме вспомогательных. В первую таблицу...

Программа по расстановке окон по заданным параметрам
Не знаю куда написать, напишу сюда, может кто подкинет идею, как можно назвать прогу, которая...

Помогите с пониманием решения задачи о расстановке ферзей
Есть нагугленное решение задачи о расстановки 8 ферзей на шахматной доске: % будем искать решение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru