Присоединиться

11 класс·высокий уровень

В цветочных лавках продают три вида роз (белые, красные и желтые). В

Условие

В цветочных лавках продают три вида роз (белые, красные и желтые). В городе N была проведена оценка цены роз. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для каждого вида роз, сколько лавок продают их дешевле всего. На вход программе в первой строке подается число данных N о стоимости роз. В каждой из последующих N строк находится информация в следующем формате: <Компания><Улица><Вид><Цена> где <Компания> — строка, состоящая не более, чем из 20 символов без пробелов, <Улица> — строка, состоящая не более, чем из 20 символов без пробелов, <Вид> — символ Б, К или Ж, <Цена> — целое число в диапазоне от 100 до 500, обозначающее стоимость одной розы. <Компания> и <Улица>, <Улица> и <Вид>, а также <Вид> и <Цена> разделены ровно одним пробелом. Пример входной строки: ТоргЦвет Садовая Ж 225 Программа должна выводить через пробел 3 числа - количество лавок, продающих дешевле всего белые, красные и желтые розы соответственно. Если роза какого-то вида нигде не продается, то следует вывести 0. Пример выходных данных: 7 5 0 4 балла ставится за эффективную и правильно работающую программу, которая, возможно, содержит одну синтаксическую ошибку.3 балла ставится в случае, когда задача фактически решена, но программа содержит до трёх синтаксических ошибок, или если допущена одна содержательная ошибка, или если все входные данные сохраняются в массиве или иной структуре данных (программа неэффективна по памяти, но эффективна по времени работы).2 балла ставится, если программа неэффективна по времени работы (перебираются все возможные пары элементов), или в программе две содержательные ошибки, либо шесть-семь синтаксических ошибок.1 балл ставится, если программа написана неверно, но из описания алгоритма и общей структуры программы видно, что экзаменуемый в целом правильно представляет путь решения задачи.

Далее уточняются перечисленные выше критерии.

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Разбор задачи целиком открывается после входа.

Осталось ещё 7 шагов

  1. Для этого будем посимвольно «пропускать»…

  2. После чего считывать вид и цену…

  3. Для каждого вида у нас будет ячейка в массиве…

  4. Если новая цена меньше предыдущей, то…

  5. Если новая цена равна минимальной, то просто…

  6. Изначально все min проинициализируем…

  7. Приведём код на языке Pascal:var n, i, ind…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка символьных строк»

В цветочных лавках продают три вида роз (белые, красные и желтые). В — решение с объяснением | Lom Ai