СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Варианты заданий

Последовательности букв и чисел

Версия для печати и копирования в MS Word
1
Задание 27 № 3103

На вход программе подаётся текст заклинания, состоящего не более чем из 200 символов, заканчивающийся точкой (символ «точка» во входных данных единственный). Оно было зашифровано Гарри Поттером следующим образом. Сначала Гарри определил количество букв в самом длинном слове, обозначив полученное число К (словом называется непрерывная последовательность английских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую английскую букву в заклинании на букву, стоящую в алфавите на К букв ранее (алфавит считается циклическим, то есть перед буквой А стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остались строчными, а прописные - прописными. Требуется написать как можно более эффективную программу, которая будет выводить на экран текст расшифрованного заклинания. Например, если зашифрованный текст был таким:

 

Zb Ra Ca,Dab Ra.

 

то результат расшифровки должен быть следующим:

Се Ud Fd,Gde Ud.


2
Задание 27 № 3642

На вход программе подается текст заклинания, состоящего не более чем из 200 символов, заканчивающийся точкой (символ «точка» во входных данных единственный). Оно было зашифровано юным волшебником следующим образом. Сначала волшебник определил количество букв в самом коротком слове, обозначив полученное число К (словом называется непрерывная последовательность латинских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую латинскую букву в заклинании на букву, стоящую в алфавите на К букв ранее (алфавит считается циклическим, то есть перед буквой А стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остались строчными, а прописные — прописными. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран текст расшифрованного заклинания. Например, если зашифрованный текст был таким:

Zb Ra Са Dab Ra,

то результат расшифровки должен быть следующим:

Bd Тс Ее Fed Тс.


3
Задание 27 № 3112

На вход программе подаётся текст заклинания, состоящего не более чем из 200 символов, заканчивающийся точкой (символ «точка» во входных данных единственный). Оно было зашифровано Гарри Поттером следующим образом. Сначала Гарри определил количество букв в самом длинном слове, обозначив полученное число К (словом называется непрерывная последовательность английских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую английскую букву в заклинании на букву, стоящую в алфавите на К букв ранее (алфавит считается циклическим, то есть перед буквой А стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остались строчными, а прописные — прописными. Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран текст расшифрованного заклинания. Например, если зашифрованный текст был таким: 

 

Zb Ra Ca,Dab Rа.

 

то результат расшифровки должен быть следующим:

Се Ud Fd,Gde Ud.


4
Задание 27 № 3645

На вход программе подается текст заклинания, состоящего не более чем из 200 символов, заканчивающийся точкой (символ «точка» во входных данных единственный). Оно было зашифровано юным волшебником следующим образом. Сначала волшебник определил количество букв в самом коротком слове, обозначив полученное число К (словом называется непрерывная последовательность латинских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую латинскую букву в заклинании на следующую за ней К-ю по счету в алфавите (алфавит считается циклическим, то есть за буквой Z следует буква А), оставив другие символы Неизменными. Строчные буквы при этом остались строчными, а прописные — прописными. Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран текст расшифрованного заклинания.

Например, если зашифрованный текст был таким:

Bd Тс Ее Fed Тс,

то результат расшифровки должен быть следующим:

Zb Ra Сc Dcb Ra.


5
Задание 27 № 3120

На вход программы подаются строчные английские буквы. Ввод этих букв заканчивается точкой (другие символы, отличные от «.» и букв «a».. «z» во входных данных отсутствуют. Требуется написать программу на одном из языков программирования, которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается. Если какие-то буквы встречаются одинаковое число раз, то они выдаются в алфавитном порядке. Например, пусть на вход подаются следующие символы:

colaclc

 

В данном случае программа должна вывести:

аolc


6
Задание 27 № 3654

На вход программе подаются строчные английские буквы. Ввод этих символов заканчивается точкой (другие символы, отличные от «.» и букв «а»..«z», во входных данных отсутствуют; в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается. Если какие-то буквы встречаются одинаковое число раз, то они выводятся в алфавитном порядке.

Например, пусть на вход подаются следующие символы:

baobaba.

В данном случае программа должна вывести

oab


7
Задание 27 № 3119

На вход программы подаются произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой. Требуется написать программу, которая будет печатать последовательность строчных английских букв ('a' 'b'... 'z') из входной последовательности и частот их повторения. Печать должна происходить в алфавитном порядке. Например, пусть на вход подаются следующие символы: 

fhb5kbfыshfm. 

В этом случае программа должна вывести 

b2 

f3 

h2 

k1 

m1 

s1

Пояснение · ·

Буквенно-числовые строки

Версия для печати и копирования в MS Word
1
Задание 27 № 3101

 На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС.

Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для каждого вида бензина, сколько АЗС продают его дешевле всего. На вход программе в первой строке подается число данных о стоимости бензина. В каждой из последующих N строк находится информация в следующем формате:

<Компания> <Улица> <Марка> <Цена>

где <Компания> – строка, состоящая не более, чем из 20 символов без пробелов, <Улица> – строка, состоящая не более, чем из 20 символов без пробелов, <Марка> – одно из чисел – 92, 95 или 98, <Цена> – целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках. <Компания> и <Улица>, <Улица> и <Марка>, а также <Марка> и <цена> разделены ровно одним пробелом. Пример входной строки:

Синойл Цветочная 95 2250

Программа должна выводить через пробел 3 числа – количество АЗС, продающих дешевле всего 92-й, 95-й и 98-й бензин соответственно. Если бензин какой-то марки нигде не продавался, то следует вывести 0.

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

12 1 0


2
Задание 27 № 3124

На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС.

Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для каждого вида бензина, сколько АЗС продают его дешевле всего. На вход программе в первой строке подается число данных о стоимости бензина. В каждой из последующих N строк находится информация в следующем формате:

<Компания> <Улица> <Марка> <Цена> где <Компания> – строка, состоящая не более, чем из 20 символов без пробелов, <Улица> – строка, состоящая не более, чем из 20 символов без пробелов, <Марка> – одно из чисел – 92, 95 или 98, <Цена> – целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках. <Компания> и <Улица>, <Улица> и <Марка>, а также <Марка> и <цена> разделены ровно одним пробелом. Пример входной строки: Синойл Цветочная 95 2250 Программа должна выводить через пробел 3 числа — количество АЗС, продающих дешевле всего 92-й, 95-й и 98-й бензин соответственно. Если бензин какой-то марки нигде не продавался, то следует вывести 0.


3
Задание 27 № 3651

На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС.

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для бензина с маркировкой 92, на какой АЗС его продают по второй по минимальности цене (считается, что самой низкой цене потребители не доверяют), а если таких АЗС несколько, то выдается только количество таких АЗС. Если все АЗС, у которых 92-й бензин есть, продают его по одной и той же цене, то эта цена считается искомой и выдается либо число таких АЗС, когда их несколько, либо конкретная АЗС, если она одна. Гарантируется, что хотя бы одна АЗС 92-й бензин продает.

На вход программе сначала подается число данных о стоимости бензина N. В каждой из сле¬дующих N строк находится информация в следующем формате:

 

<Компания> <Улица> <Марка> <Цена>

 

где <Компания> — строка, состоящая не более чем из 20 символов без пробелов,

<Улица> — строка, состоящая не более чем из 20 символов без пробелов,

<Марка> — одно из чисел — 92, 95 или 98,

<Цена> — целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках.

<Компания> и <Улица>, <Улица> и <Марка>, а также <Марка> и <цена> разделены ровно одним пробелом.

 

Пример входной строки:

СуперБенз Цветочная 92 1950

Программа должна выводить через пробел Компанию и Улицу искомой АЗС или их количество, если искомых вариантов несколько.

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

Бензинчик Перспективная

Второй вариант выходных данных:

4


4
Задание 27 № 3102

На вход программе подается набор символов, заканчивающийся точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка, или считывать данные из файла). Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение – число 0, запись которого содержит ровно один ноль.

Если требуемое число составить невозможно, то программа должна вывести на экран слово “NO”. А если возможно, то в первой строке следует вывести слово “YES”, а во второй – искомое симметричное число. Если таких чисел несколько, то программа должна выводить максимальное из них. Например, пусть на вход подаются следующие символы:

Do not 911 to 09 do.

В данном случае программа должна вывести

YES

91019

Пояснение · ·

5
Задание 27 № 3111

На вход программе подается набор символов, заканчивающийся точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка, или считывать данные из файла). Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение – число 0, запись которого содержит ровно один ноль.

Если требуемое число составить невозможно, то программа должна вывести на экран слово «NO». А если возможно, то в первой строке следует вывести слово «YES», а во второй – искомое симметричное число. Если таких чисел несколько, то программа должна выводить максимальное из них. Например, пусть на вход подаются следующие символы:

Do not 911 to 09 do.

В данном случае программа должна вывести

YES

91019


6
Задание 27 № 3105

На вход программе подается последовательность символов, среди которых встречаются и цифры. Ввод символов заканчивается точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая составит из тех цифр, которые встречаются во входных данных, максимальное число. При составлении итогового числа каждая цифра может быть использована только один раз. Если во входных данных цифры не встречаются, то следует вывести "-1". Например, пусть на вход подаются следующие символы:

14ф73п439.

В данном случае программа должна вывести

97431.


7
Задание 27 № 3113

На вход программе подается последовательность символов, среди которых встречаются и цифры. Ввод символов заканчивается точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая составит из тех цифр, которые встречаются во входных данных, максимальное число. При составлении итогового числа каждая цифра может быть использована только один раз. Если во входных данных цифры не встречаются, то следует вывести "-1".

 

Например, пусть на вход подаются следующие символы:

14ф73п439.

 

В данном случае программа должна вывести

97431


8
Задание 27 № 3140

Завод по огранке драгоценных камней приобрёл сейф повышенной надёжности. Для определения драгоценных камней, которые необходимо положить в сейф, сначала отбираются 5% самых дорогих камней.

Если у самого дешёвого камня из вошедших в группу 5% самых дорогих оказывается ценовая категория такая же, как и у нескольких других, то эти камни тоже включаются в группу камней для размещения в сейфе повышенной надёжности в том случае, если их ценовая категория не менее 15.

Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая по результатам входных данных будет определять, какую минимальную цену должен иметь драгоценный камень, чтобы его поместили в сейф повышенной надёжности.

На вход программе сначала подаётся общее количество камней на складе N. В каждой из следующих N строк находится информация по каждому камню отдельно в следующем формате:

< Название драгоценного камня > < Код > < Ценовая категория >, где < Название драгоценного камня > — строка, состоящая не более чем из 20 символов, <Код> — строка, состоящая не более чем из 15 символов, < Ценовая категория > — целое число от 1 до 20.

< Название драгоценного камня >, < Код > и < Ценовая категория > разделены одним пробелом. Пример входной строки: Рубин Р 123413.

Программа должна выводить минимальную Ценовую категорию драгоценного камня, который необходимо положить в сейф повышенной надёжности.


9
Задание 27 № 3149

На вход программе подаётся 31 строка. Строки содержат информацию о дневных и ночных температурах декабря 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd (на запись номера дня в числовом формате отводится строго два символа), затем через пробел записаны значения дневной и ночной температур — числа со знаком плюс или минус. Даты вводятся в порядке возрастания. Требуется написать программу, которая будет выводить на экран информацию о периодах непрерывного повышения среднесуточной температуры. Найденные значения для каждого из периодов следует выводить в отдельной строке в виде: номер первого дня периода, номер последнего дня периода, значение среднесуточной температуры за период.


10
Задание 27 № 3632

Вам необходимо написать программу распознавания чисел, записанных прописью. Сначала на вход программе подаётся обучающий блок, состоящий из 27 строк. Первые 9 строк содержат слова "один", "два", ...., "десять", следующие 9 строк — слова "одиннадцать", "двенадцать", ... "девятнадцать", следующие 9 строк — слова "десять", "двадцать", ..., "девяносто". Все слова записаны меленькими русскими буквами без лишних пробелов в начале и в конце строки.

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

Напишите эффективную программу, которая определит сумму тех входных чисел, которые находятся в интервале то 1 до 99.

Размер памяти, которую использует Ваша программа, не должен зависеть от длины исходного списка.

Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.

 

Пример входных данных (обучающий блок показан в примере с сокращениями):

один

два

...

девяноста

5

двадцать восемь

два миллиона

четырнадцать

сто двадцать три

тысяча девятьсот восемьдесят четыре

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

42


11
Задание 27 № 3639

На вход программе подаются 365 строк, которые содержат информацию о среднесуточной темпе-ратуре всех дней 2007 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел (для Бейсика — через запятую) записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, т. е. хронологический порядок нарушен. Требуется написать эффективную программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяцах с максимальной среднеме¬сячной температурой. Найденные максимальные значения следует выводить в отдельной строке для каждого месяца в виде: номер месяца, значение среднемесячной температуры, округленное до одной цифры после десятичной точки.


12
Задание 27 № 3794

На вход программе подаются 366 строк, которые содержат информацию о среднесуточной температуре всех дней 2004 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хронологический порядок нарушен. Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран информацию о месяце (месяцах) среднемесячная температура для которого (которых) наименее отклоняется от среднегодовой. В первой строке вывести среднегодовую температуру. Найденные значения для каждого из месяцев следует выводить в отдельной строке в следующем виде: номер месяца, значение среднемесячной температуры, отклонение от среднегодовой температуры.


13
Задание 27 № 4571

На вход программе подаются сведения о пассажирах, желающих сдать свой багаж в камеру хранения на заранее известное время до полуночи. В первой строке сообщается число пассажиров N, которое не меньше 3, но не превосходит 1000; во второй строке – количество ячеек в камере хранения М, которое не меньше 10, но не превосходит 1000. Каждая из следующих N строк имеет следующий формат:

<Фамилия> <время сдачи багажа> <время освобождения ячейки>, где <Фамилия> – строка, состоящая не более чем из 20 непробельных символов; <время сдачи багажа> – через двоеточие два целых числа, соответствующие часам (от 00 до 23 – ровно 2 символа) и минутам (от 00 до 59 – ровно 2 символа); <время освобождения ячейки> имеет тот же формат.

<Фамилия> и <время сдачи багажа>, а также <время сдачи багажа> и <время освобождения ячейки> разделены одним пробелом. Время освобождения больше времени сдачи.

Сведения отсортированы в порядке времени сдачи багажа. Каждому из пассажиров в камере хранения выделяется свободная ячейка с минимальным номером. Если в момент сдачи багажа свободных ячеек нет, то пассажир уходит, не дожидаясь освобождения одной из них. Требуется написать программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран для каждого пассажира номер ему предоставленной ячейки (можно сразу после ввода данных очередного пассажира). Если ячейка пассажиру не предоставлена, то его фамилия не печатается.

 

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

3

10

Иванов 09:45 12:00

Петров 10:00 11:00

Сидоров 12:00 13:12

 

Результат работы программы на этих входных данных:

Иванов 1

Петров 2

Сидоров 1

Источник: Демонстрационная версия ЕГЭ—2013 по информатике.

14
Задание 27 № 4603

На вход программе подаются сведения о пассажирах, желающих сдать свой багаж в камеру хранения на заранее известное время до полуночи. В первой строке сообщается число пассажиров N, которое не меньше 3, но не превосходит 1000; во второй строке – количество ячеек в камере хранения М, которое не меньше 10, но не превосходит 1000. Каждая из следующих N строк имеет следующий формат:

<Фамилия> <время сдачи багажа> <время освобождения ячейки>, где <Фамилия> – строка, состоящая не более чем из 20 непробельных символов; <время сдачи багажа> – через двоеточие два целых числа, соответствующие часам (от 00 до 23 – ровно 2 символа) и минутам (от 00 до 59 – ровно 2 символа); <время освобождения ячейки> имеет тот же формат.

<Фамилия> и <время сдачи багажа>, а также <время сдачи багажа> и <время освобождения ячейки> разделены одним пробелом. Время освобождения больше времени сдачи.

Сведения отсортированы в порядке времени сдачи багажа. Каждому из пассажиров в камере хранения выделяется свободная ячейка с минимальным номером. Если в момент сдачи багажа свободных ячеек нет, то пассажир уходит, не дожидаясь освобождения одной из них. Требуется написать программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран для каждого пассажира номер ему предоставленной ячейки (можно сразу после ввода данных очередного пассажира). Если ячейка пассажиру не предоставлена, то его фамилия не печатается.

 

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

3

10

Иванов 09:45 12:00

Петров 10:00 11:00

Сидоров 12:00 13:12

 

Результат работы программы на этих входных данных:

Иванов 1

Петров 2

Сидоров 1


15
Задание 27 № 6472

В еженедельном выпуске популярной газеты было объявлено голосование по выбору актёра, который, по мнению читателей, должен сняться в продолжении фильма «Белое солнце пустыни». На выбор был предложен список из шести актеров. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет обрабатывать результаты sms-голосования по данному вопросу. Результаты голосования получены в виде списка актёров (каждый элемент списка соответствует одному sms-сообщению). Следует учитывать, что количество голосов в списке может быть очень велико. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой строке подаётся количество пришедших sms-сообщений N. В каждой из последующих N строк записаны фамилия и имя актера (сначала фамилия, а потом через пробел имя). Длина строки не превосходит 50 символов. Пример входных данных:

 

5

Меньшиков Олег

Миронов Евгений

Меньшиков Олег

Машков Владимир

Меньшиков Олег

 

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

 

Меньшиков Олег 3

Миронов Евгений 1

Машков Владимир 1

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 603.

16
Задание 27 № 6514

В командных олимпиадах по программированию для решения предлагается не больше 12 задач. Команда может решать предложенные задачи в любом порядке. Подготовленные решения команда посылает в единую проверяющую систему соревнований. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет статистически обрабатывать пришедшие запросы, чтобы определить наименее популярные задачи. Следует учитывать, что количество запросов в списке может быть очень велико, так как многие соревнования проходят с использованием сети Интернет. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой строке подаётся количество пришедших запросов N. В каждой из последующих N строк записано название задачи в виде текстовой строки. Длина строки не превосходит 100 символов, название может содержать буквы, цифры, пробелы и знаки препинания. Пример входных данных:

 

6

А+B

Крестики-Нолики

А+В

Простой делитель

А+В

Простой делитель

 

Программа должна вывести список из трёх задач, встречающихся в запросах наименьшее число раз, с указанием количества запросов по ним. Если в запросах упоминается менее трёх задач, то выведите информацию об имеющихся задачах. Если несколько задач имеют ту же частоту встречаемости, что и третья по частоте встречаемости задача, то выведите только одну из них. Пример выходных данных для приведённого выше примера входных данных:

 

Крестики-Нолики 1

Простой делитель 2

А+В 3

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 801.

17
Задание 27 № 7420

На вход программе подаются сведения о посетителях, желающих попасть в популярное кафе. В первой строке сообщается число желающих N, которое не меньше 10, но не превосходит 1000, и количество столиков, которое не меньше 10, но не превосходит 1000. Каждая из следующих N строк имеет следующий формат:

 

<Фамилия> <время прихода> < время ухода>,

 

где <Фамилия> — строка, состоящая не более чем из 20 символов; <время прихода> — через двоеточие два целых числа, соответствующие часам (от 00 до 23 — ровно 2 символа) и минутам (от 00 до 59 — ровно 2 символа); <время ухода> имеет тот же формат. <Фамилия> и <время прихода>, а также <время прихода> и <время ухода> разделены одним пробелом.

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

Требуется написать эффективную программу, которая будет выводить на экран для каждого посетителя номер столика, который ему будет предоставлен (можно сразу после ввода данных очередного посетителя). Укажите используемую версию языка программирования, например Borland Pascal 7.0.

 

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

3 10

Иванов 09:45 12:00

Петров 10:00 11:00

Сидоров 12:00 13:12

 

Результат работы программы на этих входных данных:

Иванов 1

Петров 2

Сидоров 1

Источник: ЕГЭ по ин­фор­ма­ти­ке 08.05.2014. До­сроч­ная волна, ре­зерв­ный день. Ва­ри­ант 201.

18
Задание 27 № 7424

На вход программе подаются сведения о пассажирах, забронировавших по Интернету авиабилеты (только тех, у кого время бронирования ещё не истекло). В первой строке задано текущее время: через двоеточие два целых числа, соответствующие часам (от 00 до 23 — ровно 2 символа) и минутам (от 00 до 59 — ровно 2 символа). Во второй строке сообщается число пассажиров N, которое не меньше 3, но не превосходит 1000. Каждая из следующих N строк имеет следующий формат:

 

<Фамилия> <время окончания брони>,

 

где <Фамилия> — строка, состоящая не более чем из 20 непробельных символов; <время окончания брони> — через двоеточие два целых числа, соответствующие часам (от 00 до 23 — ровно 2 символа) и минутам (от 00 до 59 — ровно 2 символа). <Фамилия> и <время окончания брони> разделены одним пробелом. Сведения отсортированы в порядке времени, когда производилось бронирование. Все значения времени относятся к текущим суткам.

Требуется написать эффективную программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая в хронологическом порядке (т.е. в порядке возрастания значения времени окончания брони) выведет фамилии пассажиров, у которых в ближайшие 3 часа закончится бронь.

 

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

10:00

3

Иванов 13:00

Петров 10:00

Сидоров 13:12

 

Результат работы программы на этих входных данных:

Петров

Иванов

Источник: ЕГЭ по ин­фор­ма­ти­ке 08.05.2014. До­сроч­ная волна, ре­зерв­ный день. Ва­ри­ант 202.

19
Задание 27 № 7428

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

На вход программе в первой строке подается число данных N о стоимости роз. В каждой из последующих N строк находится информация в следующем формате:

 

<Компания><Улица><Вид><Цена>

 

где <Компания> — строка, состоящая не более, чем из 20 символов без пробелов, <Улица> — строка, состоящая не более, чем из 20 символов без пробелов, <Вид> — символ Б, К или Ж, <Цена> — целое число в диапазоне от 100 до 500, обозначающее стоимость одной розы.

<Компания> и <Улица>, <Улица> и <Вид>, а также <Вид> и <Цена> разделены ровно одним пробелом.

 

Пример входной строки:

ТоргЦвет Садовая Ж 225

 

Программа должна выводить через пробел 3 числа – количество лавок, продающих дешевле всего белые, красные и желтые розы соответственно. Если роза какого-то вида нигде не продается, то следует вывести 0.

 

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

7 5 0

Источник: РЕШУ ЕГЭ — Пред­эк­за­ме­на­ци­он­ная ра­бо­та 2014 по информатике.

Буквенные строки

Версия для печати и копирования в MS Word
1
Задание 27 № 3110

На вход программы подаются строчные английские буквы. Ввод этих букв заканчивается точкой (другие символы, отличные от «.» и букв «a».. «z» во входных данных отсутствуют. Требуется написать программу на одном из языков программирования, которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается. Если какие-то буквы встречаются одинаковое число раз, то они выдаются в алфавитном порядке. Например, пусть на вход подаются следующие символы:

colaclc

В данном случае программа должна вывести:

аolc


2
Задание 27 № 3620

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

Каждая строка файла кодируется отдельно.

В каждой строке ищутся отдельные слова, и все символы слова сдвигаются по алфавиту циклически вправо на длину слова.

Словом считается любая последовательность подряд идущих символов латинского алфавита, строчных и прописных.

Циклический сдвиг символа по алфавиту вправо на X — замена символа на символ, стоящий в алфавите на X позиций дальше. Если при этом происходит выход за пределы алфавита, счёт начинается с начала алфавита.

Пример циклического сдвига символов на 3 позиции: буква «Е» превращается в букву «Н», буква «t» — в букву «w» буква «Y» — в букву «В».

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна закодировать строку по указанному алгоритму.

На вход программе подается строка, состоящая из не более чем 250 символов латинского алфавита, пробелов, знаков препинания, разного рода скобок, кавычек и других символов. Строка заканчивается символом «#». Других символов «#» в строке нет.

Программа должна вывести закодированную по указанному алгоритму строку.

 

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

Day, mice. "Year" - a mistake#

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

Gdb, qmgi. "Ciev" - b tpzahrl#


3
Задание 27 № 3793

На вход программе (как вариант, из входного файла text.dat) подаётся текст на английском языке. Ввод этих символов заканчивается точкой (другие символы, отличные от «.» во входных данных отсутствуют; в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять и выводить на экран, какая английская буква встречается во входной последовательности чаще всего и сколько именно раз. Строчные и прописные буквы при этом не различаются. Если таких букв несколько, то программа должна выводить на экран ту из них, которая стоит по алфавиту раньше.

Например, пусть файл содержит следующую информацию:

It is not a simple task. Yes!

Тогда чаще всего встречаются буквы I, S, T. (слово Yes в подсчете не участвует, так как расположено после точки). Следовательно, в данном случае, программа должна вывести

I 3.


4
Задание 27 № 3123

На вход в программу подается текст, состоящий из прописных букв русского и английского алфавита. между словами ставится один пробел, ввод текста заканчивается точкой. (Другие символы, отличные от "." и букв "А"..."Я" и "А"..."Z", на вход программы не поступают.)

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

Поиск лучших учеников или игроков

Версия для печати и копирования в MS Word
1
Задание 27 № 3104

На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> - строка, состоящая не более чем из 20 символов, <Имя> — строка, состоящая не более чем из 15 символов, <оценки> - через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 2 4

 

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

Пояснение · ·

2
Задание 27 № 3109

На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:

<Фамилия> <Имя> <оценки>,

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 5 3

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


3
Задание 27 № 3118

На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: 

 

<Фамилия> <Имя> <оценки>, 

 

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки: 

 

Иванов Петр 4 5 3 

 

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

Пояснение · ·

4
Задание 27 № 3131

На вход программе подаются сведения о сдаче экзаменов учениками 9─х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:

<Фамилия> <Имя> <оценки>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 5 3

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


5
Задание 27 № 3106

На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет следующий формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> - строка, состоящая не более чем из 20 символов, <Инициалы> - строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> - не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:

Иванов П.С. 57

 

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы (школ) было больше всего участников олимпиады.


6
Задание 27 № 3114

На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет следующий формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> - строка, состоящая не более чем из 20 символов, <Инициалы> - строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> - не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:

Иванов П.С. 57

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы (школ) было больше всего участников олимпиады.

Пояснение · ·

7
Задание 27 № 3633

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

 

<Фамилия> <Инициалы> <номер школы>,

 

где <Фамилия> — строка, состоящая не более чем из 20 символов,

<Инициалы> — строка, состоящая из 4-х символов (буква, точка, буква, точка),

<номер школы> — не более чем двузначный номер.

<Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом.

Пример входной строки:

Иванов П.С. 57

Требуется написать как можно более эффективную программу на Паскале, которая определяет среднее количество участников олимпиады из одной школы. Следует учитывать, что N > 1000.

Пояснение · ·

8
Задание 27 № 3107

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

 

Завуч школы №30 решила наградить двух учащихся,которые лучше всех сдали информатику.

Программа должна вывести на экран фамилии и имена этих учеников.

Если наибольший балл набрало больше двух человек-вывести количество таких учеников.

Если наибольший балл набрал один человек,а следующий балл набрало несколько человек-нужно вывести только фамилию и имя лучшего.

Напишите эффективную,в том числе и по используемой памяти, программу(укажите используемую версию языка программирования),которая должна вывести на экран требуемую информацию.Известно,что информатику сдавало больше 5 учеников школы №30.

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

<Фамилия><Имя><Номер школы><Количество баллов>

<Фамилия>-строка,состоящая не более чем из 30 символов без пробелов,

<Имя>-строка,состоящая не более чем из 20 символов.

<Номер школы>-число в диапазоне от 1 до 99

<Количество баллов>-число в диапазоне от 1 до 100.

Эти данные записаны через пробел,то есть в каждой строке ровно 3 пробела.


9
Задание 27 № 3108

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

Районый методист решила выяснить номер школы, ученики которой набрали наибольший средний балл,с точностью до целых.

Программа должна вывести на экран номер такой школы и её средний балл.

Если наибольший средний балл набрало больше одной школы, вывести количество таких школ.

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

Также известно, что в районе школ с некоторыми номерами не существует.

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

<Фамилия><Имя><Номер школы><Количество баллов>

<Фамилия>-строка, состоящая не более чем из 30 символов без пробелов,

<Имя>-строка, состоящая не более чем из 20 символов.

<Номер школы>-число в диапазоне от 1 до 99

<Количество баллов>-число в диапазоне от 1 до 100.

Эти данные записаны через пробел, то есть в каждой строке ровно 3 пробела.


10
Задание 27 № 3116

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

Завуч школы №30 решила наградить двух учащихся, которые лучше всех сдали информатику.

Программа должна вывести на экран фамилии и имена этих учеников.

Если наибольший балл набрало больше двух человек — вывести количество таких учеников.

Если наибольший балл набрал один человек, а следующий балл набрало несколько человек — нужно вывести только фамилию и имя лучшего.

Напишите эффективную, в том числе и по используемой памяти, программу(укажите используемую версию языка программирования),которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5 учеников школы №30.

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

<Фамилия><Имя><Номер школы><Количество баллов>

<Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов.

<Номер школы> — число в диапазоне от 1 до 99

<Количество баллов> — число в диапазоне от 1 до 100.

Эти данные записаны через пробел, то есть в каждой строке ровно 3 пробела.


11
Задание 27 № 3117

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

Районный методист решила выяснить номер школы, ученики которой набрали наибольший средний балл, с точностью до целых.

Программа должна вывести на экран номер такой школы и её средний балл.

Если наибольший средний балл набрало больше одной школы, вывести количество таких школ.

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

Также известно, что в районе школ с некоторыми номерами не существует.

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

<Фамилия><Имя><Номер школы><Количество баллов>

<Фамилия>-строка, состоящая не более чем из 30 символов без пробелов,

<Имя>-строка, состоящая не более чем из 20 символов.

<Номер школы>-число в диапазоне от 1 до 99

<Количество баллов>-число в диапазоне от 1 до 100.

Эти данные записаны через пробел, то есть в каждой строке ровно 3 пробела.


12
Задание 27 № 3600

После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик какой школы сколько баллов набрал. Эта информация в том же виде была разослана в школы. Завуч школы № 50 решила наградить двух учащихся, которые лучше всех в школе сдали информатику. Программа должна вывести на экран фамилии и имена этих учеников.

Если наибольший балл набрало больше двух человек — вывести количество таких учеников.

Если наибольший балл набрал один человек, а следующий балл набрало несколько человек — нужно вывести только фамилию и имя лучшего.

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников школы № 50.

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

<Фамилия> <Имя> <Номер школы> <Количество баллов> где <Фамилия> — строка, состоящая не более, чем из 30 символов без пробелов, <Имя> — строка, состоящая не более чем из 20 символов без пробелов, <Номер школы> — целое число в диапазоне от 1 до 99, <Количество баллов> — целое число в диапазоне от 1 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

 

Пример входной строки:

Иванов Иван 50 87

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

Круглов Василий Тарасова Дарья

Другой вариант выходных данных:

7

Третий вариант выходных данных:

Гусарский Илья


13
Задание 27 № 3604

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

Районный методист решила выяснить номер школы, ученики которой набрали наибольший средний балл, с точностью до целых.

Программа должна вывести на экран номер такой школы и её средний балл.

Если наибольший средний балл набрало больше одной школы — вывести количество таких школ.

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.

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

 

<Фамилия> <Имя> <Номер школы> <Количество баллов>

 

где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов без пробелов,

<Номер школы> — целое число в диапазоне от 1 до 99,

<Количество баллов> — целое число в диапазоне от 1 до 100.

Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

Пример входной строки:

Иванов Иван 50 87

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

50 74

Другой вариант выходных данных:

7


14
Задание 27 № 3608

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

Районный методист решила выяснить номер школы, ученики которой набрали наибольший средний балл, с точностью до целых.

Программа должна вывести на экран номер такой школы и её средний балл.

Если наибольший средний балл набрало больше одной школы — вывести количество таких школ.

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.

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

 

<Фамилия> <Имя> <Номер школы> <Количество баллов>

 

где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов без пробелов,

<Номер школы> — целое число в диапазоне от 1 до 99,

<Количество баллов> — целое число в диапазоне от 1 до 100.

Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

Пример входной строки:

Иванов Иван 50 87

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

5 50 74 87

Другой вариант выходных данных:

7

Средний балл = 74


15
Задание 27 № 3612

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

Районный методист решила выяснить фамилии учеников, которые набрали наибольший балл, по каждой школе в отдельности, но только если из школы информатику сдавало не меньше 3 человек. Если в школе информатику сдавало меньше 3 человек, информацию по этой школе выводить не нужно.

Программа должна вывести на экран информацию в виде:

<Номер школы> <Фамилия ученика>

в отдельной строке для каждой школы.

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.

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

<Фамилия> <Имя> <Номер школы> <Количество баллов>

где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов без пробелов,

<Номер школы> — целое число в диапазоне от 1 до 99,

<Количество баллов> — целое число в диапазоне от 0 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

 

Пример входной строки:

Иванов Иван 50 87

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

5 Иванов

50 Петров

74 Сидоров


16
Задание 27 № 3616

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

Районный методист решила выяснить номера школ, в которых один и тот же максимальный балл набрало более двух учеников. Например, если в школах 3, 5 и 7 по три ученика набрало баллы соответственно 70, 80 и 90 нужно вывести номера эти школ.

Если таких школ несколько нужно вывести номера этих школ. Если такая школа одна нужно вывести её номер и максимальный балл.

Если таких школ нет, то нужно вывести "Нет таких школ"

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.

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

 

<Фамилия> <Имя> <Номер школы> <Количество баллов>

 

где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов без пробелов,

<Номер школы> — целое число в диапазоне от 1 до 99,

<Количество баллов> — целое число в диапазоне от 1 до 100.

Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

Пример входной строки:

Иванов Иван 50 87

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

5 50 74 87

Другой вариант выходных данных:

7

Наибольший балл = 74

Третий вариант выходных данных:

Нет таких школ


17
Задание 27 № 3624

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

Районный методист решила, что оценку «отлично» должны получить 20% участников (целое число, с отбрасыванием дробной части).

Для этого она должна определить, какой балл должен был набрать ученик, чтобы получить «отлично».

Если невозможно определить такой балл, чтобы «отлично» получили ровно 20% участников, «отлично» должно получить меньше участников, чем 20%.

Если таких участников не окажется (наибольший балл набрали больше 20% участников) — эти и только эти ученики должны получить «отлично».

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран наименьший балл, который набра¬ли участники, получившие «отлично». Известно, что информатику сдавало больше 5-ти учеников. Также известно, что есть такое количество баллов, которое не получил ни один участник.

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

 

<Фамилия> <Имя> <Номер школы> <Количество баллов>

 

где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов без пробелов,

<Номер школы> — целое число в диапазоне от 1 до 99,

<Количество баллов> — целое число в диапазоне от 1 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

 

Пример входной строки:

Иванов Иван 50 87

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

78


18
Задание 27 № 3128

На вход в программе подаются сведения о сдаче экзаменов учениками 9─х классов, некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, не превосходит 100. Каждая из N строк имеет следующий формат: <Фамилия><Имя><оценки>

где<Фамилия>─строка, состоящая не более чем из 20 символов <Имя>─строка, состоящая не более чем из 15 символов <оценки>─через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия>, <Имя> и <оценки> разделены одним пробелом.

требуется написать программу, которая будет выводить на экран имена 3─х лучших по среднему баллу учеников.

Пояснение · ·

19
Задание 27 № 3142

На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: < Фамилия > < Инициалы > < БаллыПоРусскомуЯзыку > <БаллыПоМа- тематике> <БаллыПоИнформатике>, где < Фамилия > — строка, состоящая не более чем из 20 символов, < Инициалы > — строка, состоящая из 4-х символов (буква, точка, буква, точка), <БаплыПоРусскому Языку^ <БаллыПоМатематике>, <БаллыПоИнформатике> — целые числа в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом. Пример входной строки: Петров С.Н. 78 82 70

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и инициалы учеников, набравших максимальную сумму баллов по трём предметам (таких учеников может быть несколько), а также набранную ими сумму баллов.

Следует учитывать, что N < 100.


20
Задание 27 № 3143

На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: < Фамилия > < Инициалы > <БаллыПоРусскомуЯзыку> <БаллыПоМатематике> <БаллыПоИнформатике>, где <Фамилия> — строка, состоящая не более чем из 20 символов, < Инициалы > — строка, состоящая из 4-х символов (буква, точка, буква, точка), <БаллыПоРусскомуЯзыку>, <БаллыПоМатематике>, <БаллыПоИнформатике> — целые числа в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом.

Пример входной строки: Петров С.Н. 78 82 70

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и инициалы учеников, набравших минимальное среднее арифметическое баллов по трём предметам, отличное от 0 (таких учеников может быть несколько), а также среднее арифметическое набранных ими баллов.

Следует учитывать, что N ^ 100.

Пояснение · ·

21
Задание 27 № 3648

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

 

<Фамилия> <Имя> <класс>,

где <Фамилия> — строка, состоящая не более чем из 20 символов,

<Имя> — строка, состоящая не более чем из 15 символов,

<класс> — год обучения (от 1 до 12) и заглавная буква (от «А» до «Я») без пробела. <Фамилия> и <Имя>, а также <Имя> <класс> разделены одним пробелом.

Пример входной строки:

Иванов Петр 10Б

 

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

Например:

100

1 7 11


22
Задание 27 № 4959

Соревнования по игре «Тетрис-онлайн» проводятся по следующим правилам.

1. Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.

2. Чемпионат проводится в течение определённого времени. В любой момент этого времени любой зарегистрированный участник может зайти на сайт чемпионата и начать зачётную игру. По окончании игры её результат

(количество набранных очков) фиксируется и заносится в протокол.

3. Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается.

4. Окончательный результат участника определяется по одной игре, лучшей для данного участника.

5. Более высокое место в соревнованиях занимает участник, показавший лучший результат.

6. При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат.

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

 

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

 

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

Первая строка содержит число N — общее количество строк протокола. Каждая из следующих N строк содержит записанные через пробел результат участника (целое неотрицательное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе.

 

Гарантируется, что количество участников соревнований не меньше 3.

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

Программа должна вывести имена и результаты трёх лучших игроков по форме,

приведённой ниже в примере.

 

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

9

69485 Jack

95715 qwerty

95715 Alex

83647 M

197128 qwerty

95715 Jack

93289 Alex

95715 Alex

95715 M

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

данных:

1 место. qwerty (197128)

2 место. Alex (95715)

3 место. Jack (95715)

Пояснение · ·

23
Задание 27 № 5070

Соревнования по игре «Тетрис-онлайн» проводятся по следующим правилам:

 

1. Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.

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

3. Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается.

4. Окончательный результат участника определяется по одной, лучшей для данного участника игре.

5. Более высокое место в соревнованиях занимает участник, показавший лучший результат.

6. При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат.

 

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

 

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

 

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

 

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

Первая строка содержит числа К — количество имеющихся призов и N — общее количество строк протокола.

Каждая из следующих N строк содержит записанные через пробел результат участника (целое положительное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе.

 

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

Программа должна вывести имена и результаты К лучших игроков в порядке занятых мест по форме, приведённой ниже в примере. Если игроков окажется меньше К, нужно вывести данные обо всех игроках.

 

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

6 15

69485 Jack

95715 qwerty

95715 Alex

83647 M

197128 qwerty

95715 Jack

93289 Alex

95715 Alex

95715 M

32768 BilboBaggins

99824 TetrisMaster

45482 BilboBaggins

62123 BilboBaggins

77623 M

56791 Champion

 

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

1. qwerty (197128)

2. TetrisMaster (99824)

3. Alex (95715)

4. Jack (95715)

5. M (95715)

6. BilboBaggins (62123)


24
Задание 27 № 5226

Соревнования по игре «Тетрис-онлайн» проводятся по следующим правилам:

 

1. Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.

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

3. Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается.

4. Окончательный результат участника определяется по одной, лучшей для данного участника игре.

5. Более высокое место в соревнованиях занимает участник, показавший лучший результат.

6. При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат.

 

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

 

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

 

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

 

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

Первая строка содержит числа К — количество имеющихся призов и N — общее количество строк протокола.

Каждая из следующих N строк содержит записанные через пробел результат участника (целое положительное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе.

 

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

Программа должна вывести имена и результаты К лучших игроков в порядке занятых мест по форме, приведённой ниже в примере. Если игроков окажется меньше К, нужно вывести данные обо всех игроках.

 

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

6 15

69485 Jack

95715 qwerty

95715 Alex

83647 M

197128 qwerty

95715 Jack

93289 Alex

95715 Alex

95715 M

32768 BilboBaggins

99824 TetrisMaster

45482 BilboBaggins

62123 BilboBaggins

77623 M

56791 Champion

 

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

1. qwerty (197128)

2. TetrisMaster (99824)

3. Alex (95715)

4. Jack (95715)

5. M (95715)

6. BilboBaggins (62123)


25
Задание 27 № 7216

Муниципальный этап олимпиады по информатике проводился для учеников 7–11-х классов. Все ученики участвовали в общем конкурсе. Каждый участник олимпиады мог набрать от 0 до 400 баллов. По положению об олимпиаде победителем признаётся участник, набравший наибольшее количество баллов, при условии, что им набрано больше половины возможных баллов. Победителей может быть несколько, если это количество баллов наберут несколько человек; а может и не быть совсем, если никто не наберёт больше половины.

Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет определять фамилию и имя лучшего участника, не ставшего победителем олимпиады. Если следующий за баллом победителей один и тот же балл набрали несколько человек или если победителей нет, а лучших участников несколько (в этом случае они же являются искомыми), то должно выдаваться только число искомых участников. Гарантируется, что искомые участники (участник) имеются. На вход программе сначала подаётся число участников олимпиады N (N<10000).

В каждой из следующих N строк находится результат одного из участников олимпиады в следующем формате:

 

<Фамилия> <Имя> <класс> <баллы>,

 

где <Фамилия> — строка, состоящая не более чем из 20 непробельных символов; <Имя> — строка, состоящая не более чем из 15 непробельных символов; <класс> — число от 7 до 11; <баллы> — целое число от 0 до 400 набранных участником баллов. <Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <баллы> разделены одним пробелом.

Пример входной строки:

Иванов Пётр 10 275

Программа должна выводить через пробел Фамилию и Имя искомого участника или их число. Пример выходных данных:

Кузнецов Иван

Второй вариант выходных данных:

4

Источник: ЕГЭ по ин­фор­ма­ти­ке 05.05.2014. До­сроч­ная волна. Ва­ри­ант 1.

26
Задание 27 № 7385

Региональный этап олимпиады по информатике проводился для учеников 9–11-х классов. Все ученики участвовали в общем конкурсе. Каждый участник олимпиады мог набрать от 0 до 600 баллов. По положению об олимпиаде победители определяются следующим образом.

1. Определяются все участники, набравшие наибольшее среди всех участников количество баллов. Они объявляются кандидатами в победители.

2. Если число кандидатов составляет не более 25% всех участников олимпиады, все кандидаты считаются победителями.

3. Если кандидатов в победители более 25%, то рассматривается количество баллов, набранное кандидатами в победители. Если кандидаты набрали более 300 баллов, все они объявляются победителями. Если балл, набранный кандидатами, не превышает 300 баллов, победителем не признаётся никто.

Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет определять фамилию и имя лучшего участника, не ставшего победителем олимпиады. Если следующий за баллом победителей один и тот же балл набрали несколько человек или если победителей нет, а лучших участников несколько (в этом случае они же являются искомыми), то выдаётся только число искомых участников. Гарантируется, что искомые участники (участник) имеются.

На вход программе сначала подаётся число участников олимпиады N

(N<10000).

В каждой из следующих N строк находится результат одного из участников олимпиады в следующем формате:

 

<Фамилия> <Имя> <класс> <баллы>,

 

где <Фамилия> — строка, состоящая не более чем из 20 непробельных символов; <Имя> — строка, состоящая не более чем из 15 непробельных символов; <класс> — число от 9 до 11; <баллы> — целое число от 0 до 600 набранных участником баллов. <Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <баллы> разделены одним пробелом.

Пример входной строки:

Иванов Пётр 10 275

Программа должна выводить через пробел Фамилию и Имя искомого участника или их число. Пример выходных данных:

Кузнецов Иван

Второй вариант выходных данных:

4

Источник: ЕГЭ по ин­фор­ма­ти­ке 05.05.2014. До­сроч­ная волна. Ва­ри­ант 2.

27
Задание 27 № 13696

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

Районный методист решила выяснить номер школы, ученики которой набрали наибольший средний балл, с точностью до целых.

Программа должна вывести на экран номер такой школы и её средний балл.

Если наибольший средний балл набрало больше одной школы — вывести количество таких школ и средний балл. Всего школ не более ста, школы нумеруются последовательно, начиная с единицы.

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.

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

 

<Фамилия> <Имя> <Номер школы> <Количество баллов>

 

где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,

<Имя> — строка, состоящая не более чем из 20 символов без пробелов,

<Номер школы> — целое число в диапазоне от 1 до 99,

<Количество баллов> — целое число в диапазоне от 1 до 100.

Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

Пример входной строки:

Иванов Иван 50 87

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

Школа с лучшим средним баллом 10

Наибольший средний балл = 84

Другой вариант выходных данных:

Всего школ: 3

Наибольший средний балл = 78

Источник: РЕШУ ЕГЭ

Разные задачи

Версия для печати и копирования в MS Word
1
Задание 27 № 6351

В командных олимпиадах по программированию для решения предлагается не больше 12 задач. Команда может решать предложенные задачи в любом порядке. Подготовленные решения команда посылает в единую проверяющую систему соревнований. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет статистически обрабатывать пришедшие запросы на проверку, чтобы определить популярность той или иной задачи. Следует учитывать, что количество запросов в списке может быть очень велико, так как многие соревнования проходят с использованием сети Интернет. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой строке подаётся количество пришедших запросов N. В каждой из последующих N строк записан номер задачи от 1 до 12. Пример входных данных:

 

6

1

2

1

1

5

2

 

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

 

1 3

2 2

5 1

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 601.

2
Задание 27 № 6590

В телевизионном танцевальном марафоне с определением победителя с помощью телезрителей после каждого тура объявляется sms-голосование, в котором зрители указывают наиболее понравившуюся им пару из максимум 10 пар, которые участвуют в проекте. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет обрабатывать результаты sms-голосования по данному вопросу. Результаты голосования получены в виде номеров пар (каждый элемент списка соответствует одному sms-сообщению). Следует учитывать, что количество голосов в списке может быть очень велико. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой строке подаётся количество пришедших sms-сообщений N. В каждой из последующих N строк записан номер пары от 1 до 10.Пример входных данных:

 

4

2

10

3

2

 

Программа должна вывести список всех пар, встречающихся в списке, в порядке возрастания (неубывания) количества голосов, отданных за ту или иную пару, с указанием количества отданных за неё голосов. При этом каждая пара должна быть выведена ровно один раз вне зависимости от того, сколько раз она встречается в списке.Пример выходных данных для приведённого выше примера входных данных:

 

3 1

10 1

2 2

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 802.