Зарегистрироваться Войти через вк

На сортировочной станции данные по каждому товару содержат следующую информацию…

На сортировочной станции данные по каждому товару содержат следующую информацию: код страны-отправителя (строка без пробелов, длиной не более 10 символов, начинающаяся с латинских символов, соответствующих стране), код страны-адресата (строка без пробелов, длиной не более 10 символов, начинающаяся с латинских символов, соответствующих стране), код товара (строка без пробелов, длиной не более 10 символов, начинающаяся с латинских символов, соответствующих наименованию товара), семизначный регистрационный номер. Аббревиатурой товара является трёхсимвольный код, состоящий из трёх заглавных латинских букв - первых букв кода страны отправителя, кода страны адресата и кода товара.

Требуется написать программу, которая определит информацию по тем товарам, которые имеют заданную аббревиатуру. Информацию о товаре следует выдать в порядке убывания частоты его встречаемости в списке.

Описание входных и выходных данных

На вход программе в первой строке подаётся аббревиатура товара. Количество товара в списке с такой аббревиатурой не больше 20. Во второй строке находится число N - количество товаров, полученных в результате анализа списка, не все из них подходят под указанную аббревиатуру. Значение N может быть очень велико. В каждой из следующих N строк записано три слова: код страны-отправителя, код страныадресата и код соответствующего товара. Слова разделяются одним пробелом. В конце и в начале строки пробелов нет. Все символы в списке записаны заглавными латинскими буквами. Гарантируется, что в списке хотя бы один товар с нужной аббревиатурой есть.

Пример входных данных:

FBT

5

FR742 BEL1254 TR4587 1236547

RU1254 FR4567 GT12454 1236548

FR654 GER4526 LK1245 1236549

FR742 BEL1254 TR4587 1236550

FIN1254 BUL252 TW1247 1236551

Пример выходных данных для приведённого выше примера входных данных:

FR742 BEL1254 TR4587 2

FIN1254 BUL252 TW1247 1

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

Программа считается эффективной по времени, если время работы программы пропорционально N, то есть при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, необходимой программе для хранения всех переменных, не увеличивается с ростом числа N.

Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, - 4 балла.

Максимальная оценка за правильную программу, эффективную только по времени, - 3 балла.

Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, - 2 балла.

Вы можете написать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если вы напишете две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет большая из двух оценок. Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.

Объект авторского права ООО «Легион»

Посмотреть решение

Вместе с этой задачей также решают:

Метод кодирования шифром Ришелье заключается в следующем: пусть имеется сообщение, записанное с помощью букв латинского алфавита, и набор перестановок различной длины, тогда к сооб…

Для автоматизированной системы управления движением городских пассажирских автобусов требуется написать программу, которая решает следующую задачу.

На некоторой остановке в течение…

Метод кодирования шифром Ришелье заключается в следующем: пусть имеется сообщение, записанное с помощью букв латинского алфавита, и набор перестановок различной длины, тогда к сооб…

На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщается количество учащихся N (N $$ 100), каждая из следующ…