Помогите составить алгоритм для построения очертания города (программирование) - Компьютерные вопросы

Вопрос Помогите составить алгоритм для построения очертания города (программирование)

Регистрация
14 Дек 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Вводные данные составляют начальную и конечную точку на оси абсцисс и высоту здания (в общем, 3 значения для каждого здания). Программа должна выводить лист (Python, массив в других языках) с координатами очертаний города. Например, если вводные данные - это (1, 5, 11), (2, 7, 6) и (3, 13, 9) (3 здания), то выводом является [1, 11, 3, 13, 9, 0], как показано на рисунке.
//otvet.imgsmail.ru/download/94226058_05c2ce20eff57365fd9cc66799292386_800.png
 
Регистрация
22 Ноя 2013
Сообщения
108
Репутация
0
Спасибо
0
Монет
0
примитивный цикл с заполнением массива максимумом высоты примерно так (С++) ... int arr[20]; addhome(arr,1, 5, 11); addhome(arr,2, 7, 6); addhome(arr,3, 13, 9); h=0;for(i=0;i<20;i++)if(h!=arr){cout<<i<<","<<arr<<",";h=arr;} ... addhome(int *a, int from, int to, int h) { for(i=from;i<=to;i++)if(a<h)a=h; } ....
 
Регистрация
26 Май 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
(1, 5, 11), (2, 7, 6) и (3, 13, 9) (3 здания) [1, 11, 3, 13, 9, 0] Так как у нас здания отсортированы по их расположению, берем первое здание записываем его начальную точку и высоту [1, 11], ищем среди следующих зданий такое здание, у которого высота больше текущего здания. Если нашли пишем начальную точку найденного здания и его высоту [, 3, 13,] и повторяем процедуру для найденного здания. иначе ищем самое высокое здание из оставшихся, которое расположено на конечной точке текущего здания. Если находим добавляем конечную точку текущего здания и высоту найденного и повторяем всю выше описанную процедуру для найденного здания, иначе пишем коечную точку здания высоту горизонта [, 9, 0] и выходим их процедуры. Накидал алгоритм. А на каком языке Вы это планируете реализовать?
 
Сверху Снизу