ЕГЭ по информатике 05.05.2014. Досрочная волна. Вариант 1.
При выполнении заданий с кратким ответом впишите в поле для ответа цифру, которая соответствует номеру правильного ответа, или число, слово, последовательность букв (слов) или цифр. Ответ следует записывать без пробелов и каких-либо дополнительных символов. Дробную часть отделяйте от целой десятичной запятой. Единицы измерений писать не нужно.
Если вариант задан учителем, вы можете вписать или загрузить в систему ответы к заданиям с развернутым ответом. Учитель увидит результаты выполнения заданий с кратким ответом и сможет оценить загруженные ответы к заданиям с развернутым ответом. Выставленные учителем баллы отобразятся в вашей статистике.
Версия для печати и копирования в MS Word
Сколько значащих цифр содержит двоичная запись десятичного числа 16?
Ответ:
Между населёнными пунктами A, B, C, D, E, F построены дороги, протяжённость которых приведена в таблице. (Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.)
| A | B | C | D | E | F | |
| A | 1 | |||||
| B | 1 | 6 | 3 | 6 | ||
| C | 6 | 4 | ||||
| D | 3 | 2 | ||||
| E | 6 | 4 | 2 | 3 | ||
| F | 3 |
Определите длину кратчайшего пути между пунктами A и F (при условии, что передвигаться можно только по построенным дорогам).
Ответ:
Дан фрагмент таблицы истинности выражения F.
| x1 | x2 | x3 | x4 | x5 | x6 | x7 | F |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
Каким из приведённых ниже выражений может быть F?
1) x1 ∧ ¬x2 ∧ ¬x3 ∧ x4 ∧ x5 ∧ x6 ∧ x7
2) x1 ∨ ¬x2 ∨ x3 ∨ ¬x4 ∨ ¬x5 ∨ x6 ∨ x7
3) ¬x1 ∨ x2 ∨ x3 ∨ ¬x4 ∨ ¬x5 ∨ ¬x6 ∨ ¬x7
4) ¬x1 ∧ x2 ∧ ¬x3 ∧ x4 ∧ x5 ∧ ¬x6 ∧ ¬x7
Ответ:
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы.
Символ «?» (вопросительный знак) означает ровно один произвольный символ.
Символ «*» (звёздочка) означает любую последовательность символов
произвольной длины, в том числе «*» может задавать и пустую последовательность.
Определите, какое из указанных имён файлов удовлетворяет маске:
ban?*.?xt
1) ban.txt
2) banan.xt
3) bank.xt
4) bank.txt
Ответ:
Рассмотрим алгоритм, преобразующий одно целое число в другое.
A. Умножить текущее число на 2.
B. Прибавить к результату 1.
C. Если получившееся число больше или равно 17, вычесть из него 17.
Какое получится число, если повторить этот алгоритм 7 раз для исходного числа 4?
1) 9
2) 10
3) 13
4) 4
Ответ:
На городской тур олимпиады по математике отбираются те учащиеся, кто набрал на районном туре не менее 10 баллов или полностью решил хотя бы одну из двух самых сложных задач (№ 6 или № 7). За полное решение
задач 1– 4 даётся 2 балла; задач 5, 6 – 3 балла; задачи 7 – 4 балла. Дан фрагмент таблицы результатов районного тура.
| Фамилия | Пол | Задача № 1 | Задача № 2 | Задача № 3 | Задача № 4 | Задача № 5 | Задача № 6 | Задача № 7 |
|---|---|---|---|---|---|---|---|---|
| Айвазян | ж | 1 | 0 | 2 | 1 | 0 | 1 | 3 |
| Житомирский | м | 2 | 2 | 2 | 2 | 2 | 1 | 3 |
| Иваненко | ж | 2 | 1 | 1 | 0 | 1 | 2 | 3 |
| Лимонов | м | 1 | 1 | 1 | 1 | 1 | 2 | 3 |
| Петраков | м | 2 | 0 | 0 | 1 | 0 | 3 | 0 |
| Рахимов | м | 2 | 2 | 2 | 0 | 3 | 0 | 1 |
| Суликашвили | ж | 1 | 1 | 0 | 0 | 0 | 3 | 2 |
| Толкачёва | ж | 2 | 1 | 0 | 0 | 3 | 0 | 3 |
Сколько девочек из этой таблицы прошли на городской тур?
Ответ:
В электронной таблице значение формулы =СРЗНАЧ(B5:E5) равно 100. Чему равно значение формулы =СУММ(B5:D5), если значение ячейки E5 равно 50? Пустых ячеек в таблице нет.
Ответ:
Производится одноканальная (моно) цифровая звукозапись. Значение сигнала фиксируется 48 000 раз в секунду, для записи каждого значения используется 32 бит. Результаты записываются в файл, сжатие данных не производится. Размер файла с записью не может превышать 16 Мбайт. Какое из приведённых ниже чисел наиболее близко к максимально возможной продолжительности записи, выраженной в секундах?
1) 22
2) 44
3) 87
4) 174
Ответ:
Для передачи по каналу связи сообщения, состоящего только из символов А, Б, В и Г, используется неравномерный (по длине) код: А – 0; Б – 100; В – 101. Каким кодовым словом нужно кодировать символ Г, чтобы длина его была минимальной, а код при этом допускал однозначное разбиение кодированного сообщения на символы?
1) 1
2) 11
3) 01
4) 010
Ответ:
На числовой прямой даны два отрезка: P = [12, 62] и Q = [32, 92].
Выберите такой отрезок A, что формула
((x ∈ А) ∧ (x ∈ Q)) → (x ∈ P)
тождественно истинна, т. е. принимает значение 1 при любом значении переменной х.
1) [5, 60]
2) [10, 80]
3) [40, 100]
4) [70, 120]
Ответ:
Для регистрации на сайте некоторой страны пользователю требуется придумать пароль. Длина пароля — ровно
Ответ:
Ниже приведён фрагмент программы, записанный на пяти языках программирования.
Массив A двумерный; в программе рассматривается его фрагмент, соответствующий значениям каждого индекса от 1 до 9.
| Бейсик | Паскаль |
|---|---|
FOR n=1 TO 9 FOR k=1 TO 9 A(n,k)=n+k+1 NEXT k NEXT n | for n:=1 to 9 do for k:=1 to 9 do A[n,k]:=n+k+1
|
| Си++ | Алгоритмический язык |
for (n=1;n<=9;n++) { for (k=1;k<=9;k++) { A[n][k]=n+k+1; } }
| нц для n от 1 до 9 нц для k от 1 до 9 A[n,k]=n+k+1 кц кц |
| Python | |
for n in range(1, 10): for k in range(1, 10): A[n][k] = n+k+1 | |
Сколько элементов указанного фрагмента массива A будут принимать нечётные значения после выполнения данного фрагмента программы?
Ответ:
Система команд исполнителя РОБОТ, «живущего» в клетках прямоугольного лабиринта на плоскости:
вверх, вниз, влево, вправо.
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево←, вправо →.
Четыре условия позволяют проверить отсутствие преград у каждой из сторон той клетки, где находится РОБОТ: сверху свободно, снизу свободно, слева свободно, справа свободно.
В цикле
ПОКА <условие> команда
команда выполняется, пока условие истинно, иначе происходит переход на следующую строку программы.
Если РОБОТ начнёт движение в сторону стены рядом с которой он стоит, то робот разрушится, и выполнение программы прервётся. Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?
НАЧАЛО
ПОКА < снизу свободно > влево
ПОКА < слева свободно > вверх
ПОКА < сверху свободно > вправо
ПОКА < справа свободно > вниз
КОНЕЦ
Ответ:
У исполнителя Удвоитель две команды, которым присвоены номера:
1. прибавь 1,
2. умножь на 2.
Первая из них увеличивает число на экране на 1, вторая удваивает его.
Например, 2121 — это программа
умножь на 2
прибавь 1
умножь на 2
прибавь 1,
которая преобразует число 1 в число 7.
Запишите порядок команд в программе преобразования числа 4 в число 94, содержащей не более 8 команд, указывая лишь номера команд. Если таких программ более одной, то запишите любую из них.
Ответ:
Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
| Бейсик | Паскаль |
|---|---|
a = 27 b = 6 b = 2 * a / 3 * b IF a > b THEN c = a - b ELSE c = b + 2 * a ENDIF | a := 27; b := 6; b := 2 * a / 3 * b; if a > b then c := a - b else c := b + 2 * a; |
| Си++ | Алгоритмический язык |
a = 27; b = 6; b = 2 * a / 3 * b; if (a > b) c = a - b; else c = b + 2 * a; | a := 27 b := 6 b := 2 * a / 3 * b если a > b то c := a - b иначе c := b + 2 * a все |
| Python | |
a = 27 b = 6 b = 2 * a / 3 * b if a > b: c = a - b else: c = b + 2 * a
| |
Ответ:
Дан фрагмент электронной таблицы.
| A | B | C | |
| 1 | 1 | 3 | |
| 2 | =A1+2*B1+1 | =C1–A1 | =(C1+A1)/2 |
Какое целое число должно быть записано в ячейке B1, чтобы построенная после выполнения вычислений диаграмма по значениям диапазона ячеек A2:С2 соответствовала рисунку?
Известно, что все значения диапазона, по которым построена диаграмма, имеют один и тот же знак.
Ответ:
Все 4-буквенные слова, составленные из букв В, Н, Р, Т, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ВВВВ
2. ВВВН
3. ВВВР
4. ВВВТ
5. ВВНВ
...
Запишите слово, которое стоит под
Ответ:
Определите число, которое будет напечатано в результате выполнения программы.
Для Вашего удобства программа представлена на четырёх языках программирования.
| Бейсик | Паскаль |
|---|---|
DIM I, S AS INTEGER I = 0 S = 70 WHILE S > 7 S = S – 7 I = I + 1 WEND PRINT(I)
| var i, s: integer; begin i := 0; s := 70; while s > 7 do begin s := s – 7; i := i + 1 end; writeln(i) end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { int i, s; i = 0; s = 70; while (s > 7) { s = s – 7; i++; } cout << i << endl ; }
| алг нач цел i, s i := 0 s := 70 нц пока s > 7 s := s - 7 i := i + 1 кц вывод i кон |
| Python | |
i = 0 s = 70 while s > 7: s -= 7 i += 1 print(i)
| |
Ответ:
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими рекуррентными соотношениями:
F(n) = 2 при n = 1;
Чему равно значение функции F(5)? В ответе запишите только натуральное число.
Ответ:
Запишите число 83 в троичной системе счисления. В ответе укажите только цифры, основание системы счисления писать не нужно.
Ответ:
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 11.
| Бейсик | Паскаль |
|---|---|
DIM X, A, B AS INTEGER INPUT X A = 0: B = 0 WHILE X > 0 A = A + 1 B = B + (X MOD 10) X = X \ 10 WEND PRINT A PRINT B | var x, a, b: integer; begin readln(x); a := 0; b := 0; while x>0 do begin a:= a + 1; b:= b + (x mod 10); x:= x div 10 end; writeln(a); write(b); end. |
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { int x, a, b; cin >> x; a=0; b=0; while (x>0){ a=a+1; b=b+(x%10); x=x/10; } cout << a << endl << b << endl; } | алг нач цел x, a, b ввод x a := 0; b := 0 нц пока x>0 a := a + 1 b := b + mod(x,10) x := div(x,10) кц вывод a, нс, b кон |
| Python | |
x = int(input()) a = 0 b = 0 while x > 0: a += 1 b +=x % 10 x //= 10 print(a) print(b)
| |
Ответ:
На рисунке — схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует различных путей из города А в город Л?
Ответ:
Документ объёмом 10 Мбайт можно передать с одного компьютера на другой двумя способами.
А) Сжать архиватором, передать архив по каналу связи, распаковать.
Б) Передать по каналу связи без использования архиватора.
Какой способ быстрее и насколько, если:
· средняя скорость передачи данных по каналу связи составляет 222 бит в секунду;
· объём сжатого архиватором документа равен 90% исходного;
· время, требуемое на сжатие документа, — 10 секунд; на распаковку — 1 секунда?
В ответе напишите букву А, если быстрее способ А, или Б, если быстрее способ Б. Сразу после буквы напишите количество секунд, на сколько этот способ быстрее другого, без указания размерности.
Например, запись ответа Б23 означает, что способ Б быстрее на 23 секунды.
Ответ:
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. По заданным IP-адресу узла и маске определите адрес сети.
IP-адрес узла: 102.9.140.219
Маска: 255.255.192.0
При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы, без использования точек.
| A | B | C | D | E | F | G | H |
| 9 | 128 | 255 | 192 | 102 | 0 | 140 | 219 |
Пример.
Пусть искомый IP-адрес — 192.168.128.0 и дана таблица:
| A | B | C | D | E | F | G | H |
| 128 | 168 | 255 | 8 | 127 | 0 | 17 | 192 |
В этом случае правильный ответ будет записан в виде: HBAF.
Ответ:
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
|---|---|
| Крейсер | Линкор | 4700 |
| Крейсер & Линкор | 600 |
| Крейсер | 2500 |
Какое количество страниц (в тысячах) будет найдено по запросу Линкор?
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Ответ:
У исполнителя Прибавитель две команды, которым присвоены номера:
1. прибавь 1,
2. прибавь 10.
Первая из них увеличивает число на экране на 1, вторая прибавляет к числу на экране 10.
Программа для Прибавителя — это последовательность команд.
Сколько есть программ, которые число 10 преобразуют в число 31?
Ответ:
Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырёх языках программирования).
| Бейсик | Паскаль |
|---|---|
DIM A, B, T, M, R AS INTEGER A = -20: B = 20 M = A: R = F(А) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) END IF NEXT T PRINT M FUNCTION F(x) F = 2*(x-15)*(x-17)+19 END FUNCTION | var a,b,t,M,R :integer; Function F(x:integer):integer; begin F := 2*(x-15)*(x-17)+19 end; BEGIN a := -20; b := 20; M := a; R := F(a); for t := a to b do begin if (F(t) < R) then begin M := t; R := F(t) end end; write(M) END. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int F(int x) { return 2*(x-15)*(x-17)+19; } int main() { int a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for (t = a; t <= b; t++) { if (F(t) < R) { M = t; R = F(t); } } cout « M « endl; } | алг нач цел a, b, t, R, M a := -20; b := 20 M := a; R := F(a) нц для t от a до b если F(t) < R то M := t; R := F(t) все кц вывод M кон алг цел F(цел x) нач знач := 2*(x-15)*(x-17)+19 кон |
| Python | |
def f(x): return 2*(x-15)*(x-17)+19 a = -20 b = 20 M = a R = f(a) for t in range(a, b+1): if (f(t) < R): M = t R = f(t); print(M)
| |
Ответ:
Сколько различных решений имеет система уравнений
¬x1 ∨ x2 = 1
¬x2 ∨ x3 = 1
…
¬x9 ∨ x10 = 1,
где x1, x2, … x10 — логические переменные?
В ответе не нужно перечислять все различные наборы значений x1, x2, … x10, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
Ответ:
Требовалось написать программу, при выполнении которой с клавиатуры считывается координата точки на прямой (x – действительное число) и определяется принадлежность этой точки одному из выделенных отрезков В и D (включая границы). Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на пяти языках программирования.)
| Бейсик | Паскаль |
|---|---|
INPUT x IF x<=17 THEN IF x<=5 THEN IF x>=-1 THEN PRINT "принадлежит" ELSE PRINT "не принадлежит" ENDIF ENDIF ENDIF END | var x: real; begin readln(x); if x<=17 then if x<=5 then if x>=-1 then write('принадлежит') else write('не принадлежит') end. |
| Си++ | Алгоритмический |
int main(void) { float x; cin >> x; if(x<=17) if(x<=5) if(x>=-1) cout << "принадлежит"; else cout << "не принадлежит"; } | алг нач вещ x ввод x если x<=17 то если x<=5 то если x>=-1 то вывод 'принадлежит' иначе вывод 'не принадлежит' все все все кон |
| Python | |
x = float(input()) if x <= 17: if x <= 5: if x >= -1: print("принадлежит") else: print("не принадлежит")
| |
Последовательно выполните следующее.
1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D и E). Границы (точки –1, 5, 11 и 17) принадлежат заштрихованным областям (B и D соответственно).
| Область | Условие 1 (x<=17) | Условие 2 (x<=5) | Условие 3 (x>= –1) | Программа выведет | Область обрабатывается верно |
| A | |||||
| B | |||||
| C | |||||
| D | |||||
| E |
В столбцах условий укажите «да», если условие выполнится; «нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, поставьте «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».
2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)
На следующей странице вам будет предложено проверить их самостоятельно.
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от −20 до 20 — сведения о температуре за каждый день ноября. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднюю температуру среди дней, когда были заморозки (температура опускалась ниже 0 °C). Гарантируется, что хотя бы в один день ноября была отрицательная температура.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
| Бейсик | Паскаль |
|---|---|
N=30 DIM A(N) AS INTEGER DIM I, X, Y AS INTEGER DIM S AS SINGLE FOR I = 1 TO N INPUT A(I) NEXT I … END | const N=30; var a: array [1..N] of integer; i, x, y: integer; s: real; begin for i:=1 to N do read (a[i]); … end. |
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; #define N 30 int main(void) {int a[N]; int i, x, y; float s; for (i=0; i < N; i++) cin >> a[i]; … } | алг нач цел N = 30 целтаб a[1:N] цел i, x, y вещ s нц для i от 1 до N ввод a[i] кц ... кон |
| Естественный язык | |
Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, X, Y. Объявляем вещественную переменную S. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. | |
| Python | |
# допускается также # использовать две # целочисленные переменные x, y # и вещественную переменную s a = [] n = 30 for i in range(0, n): a.append(int(input())) ... | |
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке
программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае Вы должны использовать переменные, аналогичные переменным, используемым в алгоритме, записанном на естественном языке, с учётом синтаксиса и особенностей используемого Вами языка программирования.
На следующей странице вам будет предложено проверить их самостоятельно.
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 102. Победителем считается игрок, сделавший последний ход, т. е. первым получивший кучу, в которой будет 102 или больше камней.
В начальный момент в куче было S камней; 1 ≤ S ≤ 101.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может
встретиться при различной игре противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
Задание 1
а) Укажите все такие значения числа S, при которых Петя может выиграть в один ход. Обоснуйте, что найдены все нужные значения S, и укажите выигрывающие ходы.
б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.
Задание 2
Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Для каждого указанного значения S опишите выигрышную стратегию Пети.
Задание 3
Укажите значение S, при котором одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Для указанного значения S опишите выигрышную стратегию Вани.
Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рисунке на рёбрах дерева указывайте, кто делает ход; в узлах — количество камней в позиции.
На следующей странице вам будет предложено проверить их самостоятельно.
Муниципальный этап олимпиады по информатике проводился для учеников 7–11-х классов. Все ученики участвовали в общем конкурсе. Каждый участник олимпиады мог набрать от 0 до 400 баллов. По положению об олимпиаде победителем признаётся участник, набравший наибольшее количество баллов, при условии, что им набрано больше половины возможных баллов. Победителей может быть несколько, если это количество баллов наберут несколько человек; а может и не быть совсем, если никто не наберёт больше половины.
Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет определять фамилию и имя лучшего участника, не ставшего победителем олимпиады. Если следующий за баллом победителей один и тот же балл набрали несколько человек или если победителей нет, а лучших участников несколько (в этом случае они же являются искомыми), то должно выдаваться только число искомых участников. Гарантируется, что искомые участники (участник) имеются. На вход программе сначала подаётся число участников олимпиады N (N<10000).
В каждой из следующих N строк находится результат одного из участников олимпиады в следующем формате:
<Фамилия> <Имя> <класс> <баллы>,
где <Фамилия> — строка, состоящая не более чем из 20 непробельных символов; <Имя> — строка, состоящая не более чем из 15 непробельных символов; <класс> — число от 7 до 11; <баллы> — целое число от 0 до 400 набранных участником баллов. <Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <баллы> разделены одним пробелом.
Пример входной строки:
Иванов Пётр 10 275
Программа должна выводить через пробел Фамилию и Имя искомого участника или их число. Пример выходных данных:
Кузнецов Иван
Второй вариант выходных данных:
4
На следующей странице вам будет предложено проверить их самостоятельно.