Пожалуйста, помогите с программой по инфе. Вот условие: Некоторый город построен **...

0 голосов
60 просмотров

Пожалуйста, помогите с программой по инфе. Вот условие:

Некоторый город построен на квадратном участке земли. Более того, территория города поделена на одинаковые квадратные участки, на каждом из которых построено какое-то здание. Здания пронумерованы числами от 1 до N2, сначала нумеруются подряд здания одной "улицы", затем другой и так далее. Здания могут быть разной высоты.

Пример карты города для N=3 приведен на рисунке. В скобках сначала указан номер здания, затем его высота.

Со стороны, указанной стрелкой к городу подходит путешественник и делает фотографии каждого "ряда" зданий, после этого снимки объединяются в общую панораму. Напишите программу, которая выведет полученную панораму.

Входные данные

Cначала вводится число N – длина стороны города (натуральное, не превышает 20). Затем вводится N2 чисел – высоты зданий; число номер i показывает высоту i-го здания; высоты – натуральные числа, не превосходят 20.

Выходные данные

Выведите панораму города, снятую со стороны, указанной на рисунке стрелкой, в следующем формате: N столбцов чисел (по количеству рядов зданий). Каждый столбец состоит из 20 чисел, которые описывают фотографию ряда зданий сверху вниз. Число равно номеру того здания, которое видно на панораме на данной высоте. Если на данной высоте нет здания, то выводится 0.

Для примера, показанного на рисунке вывод будет выглядеть так:Пояснения: при съемке первого ряда зданий высота самого высокого из них равна 10. Поэтому над ним ничего нет (десять нулей вверху первого столбца). Затем, здание номер 4 перекрывает нижнюю часть здания номер 1, поэтому у здания 1 видно только верхние 5 этажей (следующие пять единиц). Затем здание 7 перекрывает вид на нижние 3 этажа здания 4. Поэтому от здания 4 видны только два верхних этажа.

Второй столбец: при съемке с указанной точки здание 8 перекроет вид на все остальные здания этого ряда (потому что оно выше их), таким образом видно только это здание, а над ним ничего нет (12 нулей).

Третий столбец: самое высокое здание в этом ряду – здание 6, его высота равна 7. Поэтому вверху столбца идет 13 нулей. Здание 6 полностью загораживает собой здание 3. Вид на нижний этаж здания 6 загораживает здание 9, которое расположено ближе к точке съемки.

0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1 0 0
1 0 0
1 8 0
1 8 6
1 8 6
4 8 6
4 8 6
7 8 6
7 8 6
7 8 9

Заранее спасибо

На паскале или на питоне(3)

Информатика (70 баллов) | 60 просмотров
0

Кроме того, это конкурсное задание - такое надо своим умом, это не школа.

0

С удовольствием бы помог решить это задачу,но на Питоне.И создайте новый билет

0

Данная задача задана нам на дом

0

Она не конкурсная

0

а про ссылку я не знал... ссори

0

Вы знаете, учителям ЗАПРЕЩЕНО давать на дом задачи с внешних образовательных ресурсов. Их можно только в классе разбирать в плане подготовки к олимпиадам и т.п. А на дом - можно только РЕКОМЕНДОВАТЬ ДОПОЛНИТЕЛЬНО попробовать свои силы...

0

Ну тем не менее: на этом сайте тысячи школ, и я почти уверен, что не нам одним задают задачи отсюда. Да, впринципе, можете мне и не верить. Всё равно это глупый спор, тут правда не доказать

0

А чего доказывать? Задача взята с ресурса дистанционной подготовки [к олимпиадам], который занимается вопросами олимпиадного программирования. И Вы будете рассказывать, что учитель на дом поголовно всем задает задачи такого рода? Это зачем? Чтобы потом 95% класса получило двойки за невыполнение?

0

Задачка довольно простая. Но большинству детей её, увы, не решить. Посему оставляю за собой право Вам не поверить.

0

Там на сайте даже разбор решения есть)

Дан 1 ответ
0 голосов
Правильный ответ

Как-то так 
VVVVVVVVVV

(3.7k баллов)