printРабочее место участника

printЗадачи

1563. СУБД «DUMP»

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

В реляционной СУБД «DUMP» информация, содержащаяся в базе данных (БД), представлена в виде одной таблицы, являющейся, например, декартовым произведением всех отношений в БД. К ней можно обращаться с помощью запроса выделения необходимых столбцов и строк таблицы, не отбрасывающего дублирующиеся записи. Таблица хранится в следующем виде: в первой строке – список имен столбцов таблицы, затем набор строк, содержащих списки значений полей таблицы. Элементы списка разделяются запятой, за которой следует один или более пробелов: значение{, значение}… (здесь и далее метасимволы { } показывают часть формата, которая повторяется 0 или более раз). Символы запятая и = служат для разделения и не встречаются в именах и значениях БД.
Во входном файле в первой строке содержится список отбираемых для показа столбцов таблицы. Формат строки: ИМЯ 1{, ИМЯ 2}… Во второй строке – список (возможно пустой) условий для отбора записей. Формат строки: ИМЯ 1=значение 1{, ИМЯ 2=значение 2}… Если условий для отбора записей нет, то строка будет пустой. Запись попадает в выходной файл, если значения указанных полей в записи равны указанным значениям. В третьей строке находится список имен столбцов единственной таблицы БД, а в следующих строках – записи таблицы (списки значений полей). Количество записей в таблице не превышает 1000. Длина всех строк входного файла не более 250 символов. Прописные и строчные буквы различаются, в 1-й и 2-й строке используются только имена столбцов таблицы из 3-й строки, имена в 1-й, 2-й и 3-й строке не повторяются.
В выходной файл вывести в первой строке список имен отобранных столбцов (из первой строки входного файла), а в следующих – списки значений соответствующих полей отобранных записей. Порядок следования записей должен сохраниться. Элементы списков разделять запятой с одним пробелом.

Пример ввода

City, Suppler
City=Paris
Suppler, Detail, City,   Total Qty
Smith,   Bolt,   London, 120
Jones,   Screw,  Paris,  100
Adams,   Nut,    Paris,  400
Jones,   Bolt,   Paris,  120

Вывод для примера

City, Suppler
Paris, Jones
Paris, Adams
Paris, Jones
loading