информатика
Информатика
Русский язык
Английский язык
Немецкий язык
Французcкий язык
Испанский язык
Физика
Химия
Биология
География
Обществознание
Литература
История
сайты - меню - вход - новости




Вариант № 3742037

При вы­пол­не­нии заданий 1—23 ответом яв­ля­ет­ся одна цифра, ко­то­рая соответствует но­ме­ру правильного ответа или число, по­сле­до­ва­тель­ность букв или цифр. Ответ сле­ду­ет записывать без про­бе­лов и каких-либо до­пол­ни­тель­ных символов.


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



Версия для печати и копирования в MS Word
Времени прошло:0:00:00
Времени осталось:3.9166666666666665:55:00
1
Задание 1 № 13504

Вычислите: 101010112 – 2508 + 516. Ответ запишите в десятичной системе счисления. В ответе запишите только число, основание системы счисления писать не нужно.


Ответ:

2
Задание 2 № 15787

Логическая функция F задаётся выражением ((xy ) ∧ (yw)) ∨ (z ≡ ( xy)).

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

Определите, какому столбцу таблицы истинности соответствует каждая из переменных x, y, z, w.

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
????????????F
110
10
110

 

В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая первому столбцу; затем — буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

Пример. Пусть задано выражение xy, зависящее от двух переменных x и y, и фрагмент таблицы истинности:

 

Переменная 1Переменная 1Функция
??????F
010

 

Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.


Ответ:

3
Задание 3 № 7442

Между населёнными пунктами A, B, C, D, E, F, G построены дороги, протяжённость которых приведена в таблице. Отсутствие числа в таблице значает, что прямой дороги между пунктами нет.

 

ABCDEFG
A51225
B58
C24510
D1282
E45
F55
G251055

 

Определите длину кратчайшего пути между пунктами A и G (при условии, что передвигаться можно только по построенным дорогам).


Ответ:

4
Задание 4 № 5795

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

 

Символ «?» (вопросительный знак) означает ровно один произвольный символ.

 

Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. В каталоге находится 6 файлов:

 

slon.doc

slon.docx

klon.doc

poklon.doc

lom.doc

lomka.doc

 

Определите, по какой из масок из них будет отобрана указанная группа файлов:

 

slon.doc

klon.doc

poklon.doc

lom.doc

 

1) *lo?.doc?

2) ?lo*.doc

3) *lo?.doc

4) *?lo?*.*?doc?*


Ответ:

5
Задание 5 № 11261

По каналу связи передаются сообщения, содержащие только шесть букв: А, B, C, D, E, F. Для передачи используется неравномерный двоичный код, удовлетворяющий условию Фано. Для букв A, B, C используются такие кодовые слова: А – 00, B – 010, C – 1. Какова наименьшая возможная суммарная длина всех кодовых слов?

 

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


Ответ:

6
Задание 6 № 15101

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

1. Складываются отдельно первая и вторая, вторая и третья, третья и четвёртая цифры заданного числа.

2. Наименьшая из полученных трёх сумм удаляется.

3. Оставшиеся две суммы записываются друг за другом в порядке неубывания без разделителей.

 

Пример. Исходное число: 1982. Суммы: 1 + 9 = 10, 9 + 8 = 17, 8 + 2 = 10. Удаляется 10. Результат: 1017.

Укажите наименьшее число, при обработке которого автомат выдаёт результат 1215.


Ответ:

7
Задание 7 № 5298

В ячейке Е15 электронной таблицы записана формула. Эту формулу скопировали в ячейки D17 и С18. В соответствии с формулой, полученной в ячейке D17, значение в этой ячейке равно разности значений в ячейках D32 и С32; в соответствии с формулой, полученной в ячейке С18, значение в этой ячейке равно разности значений в ячейках D33 и В32.

 

Укажите, какая формула могла быть написана в ячейке Е15.

 

Примечание: знак $ используется для обозначения абсолютной адресации.

 

1) =Е$32 − $D30

2) =$D$32 − $В$32

3) =$D$31 − $С$32

4) =$D30 − D$32


Ответ:

8
Задание 8 № 4848

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

 

БейсикПаскаль

DIM N, S AS INTEGER

N = 0

S = 0

WHILE S <= 365

S = S + 33

N = N + 10

WEND

PRINT N

var n, s: integer;

begin

    n : = 0;

    s : = 0;

    while s <= 365 do

    begin

        s : = s + 33;

        n : = n + 10

    end;

    write(n)

end.

Си++Алгоритмический язык

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 0;

    s = 0;

    while (s <= 365)

    {

        s = s + 33;

        n = n + 10;

    }

    cout « n « endl;

}

алг

нач

цел n, s

n : = 0

s : = 0

нц пока s <= 365

    s : = s + 33

    n : = n + 10

кц

вывод n

кон

Python

n = 0

s = 0

while s <= 365:

    s += 33

    n += 10

print(n)

 


Ответ:

9
Задание 9 № 2506

Определите скорость канала связи (радиодоступ) в Кбайтах/с, если передача изображения объемом 2 Мбайта заняла 1,2 мин. Результат укажите с точностью до 0,1.


Ответ:

10
Задание 10 № 3701

Все 6-буквенные слова, составленные из букв Б, К, Ф, записаны в алфавитном порядке и пронумерованы. Вот начало списка:

1. ББББББ

2. БББББК

3. БББББФ

4. ББББКБ

……

Запишите слово, которое стоит на 342-м месте от начала списка.


Ответ:

11
Задание 11 № 5554

Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:

 

F(n) = n + 1 при n ≤ 2;

F(n) = F(n − 1) + 3 · F(n − 2) при n > 2.

 

Чему равно значение функции F(4)? В ответе запишите только натуральное число.


Ответ:

12
Задание 12 № 4955

В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

По заданным IP-адресу узла и маске определите адрес сети.

IP –адрес узла: 224.24.254.134

Маска: 255.255.224.0

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

 

ABCDEFGH
2552542442241342480

 

Пример.

Пусть искомый IP-адрес 192.168.128.0, и дана таблица

 

ABCDEFGH
1281682558127017192

 

В этом случае правильный ответ будет записан в виде: HBAF


Ответ:

13
Задание 13 № 9305

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 30 символов и содержащий только символы А, Б, В, Г, Д. Каждый такой пароль в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт, при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит.

Определите, сколько байт необходимо для хранения 50 паролей.


Ответ:

14
Задание 14 № 1830

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

вверх вниз влево вправо

При выполнении этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

Четыре команды проверяют истинность условия отсутствия стены у той клетки, где находится РОБОТ:

сверху
свободно
снизу
свободно
слева
свободно
справа
свободно

Цикл

ПОКА <условие> команда

выполняется, пока условие истинно, иначе происходит переход на следующую строку.

Если РОБОТ начнёт движение в сторону стены, то он разрушится, и программа прервётся.

Сколько клеток приведенного лабиринта соответствует требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?

 

НАЧАЛО

ПОКА <справа свободно> вверх

ПОКА <сверху свободно> влево

ПОКА <слева свободно> вниз

ПОКА <снизу свободно> вправо

КОНЕЦ


Ответ:

15
Задание 15 № 6504

На рисунке — схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Л?


Ответ:

16
Задание 16 № 5491

Запишите десятичное число 27 в системе счисления с основанием 4. Основание системы счисления (нижний индекс после числа) писать не нужно.


Ответ:

17
Задание 17 № 13520

В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» – символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

 

ЗапросНайдено страниц
(в сотнях тысяч)
Барселона & Реал420
(Барселона & Реал) | (Барселона & Атлетико) 545
Барселона & Атлетико455

 

Какое количество страниц (в тысячах) будет найдено по запросу Барселона & Реал & Атлетико? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов


Ответ:

18
Задание 18 № 10419

Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n.

Так, например, 14&5 = 11102&01012 = 01002 = 4.

Для какого наименьшего неотрицательного целого числа А формула

 

 

тождественно истинна (то есть принимает значение 1 при любом неотрицательном целом значении переменной x)?


Ответ:

19
Задание 19 № 3369

Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы:

 

 

БейсикPython

FOR i = 1 TO 100

    FOR k = 1 TO 100

        IF i = k THEN A(i,k)= 1

        ELSE A(i,k)= -1

    NEXT k

NEXT i

for i in range(1, 101):

    for k in range(1, 101):

        if i == k:

            A[i][k] = 1

        else:

            A[i][k] = -1

ПаскальАлгоритмический язык

for i:= 1 to 100 do

    for k:=1 to 100 do

        if i = k then

            A[i,k] := 1

        else A[i,k] := -1;

нц для i от 1 до 100

    нц для k от 1 до 100

        если i = k то

            A[i,k] := 1

        иначе A[i,k] := -1

    все

    кц

кц

Си++

for (i = 1; i <= 100; i++) {

    for (k = 1; k <= 100; k++) {

        if (i == k)

            A[i,k] = 1;

        else

            A[i,k] = -1;

    }

}

 

 

Чему равна сумма элементов массива после выполнения этого фрагмента программы?


Ответ:

20
Задание 20 № 4980

Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 6, а потом 9.

 

Бэйсик Паскаль

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    A = A + 2

    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 + 2;

            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 + 2;

        b = b + (x%10);

        x = x / 10;

    }

    cout << a << endl << b endl;

}

алг

нач

цел x, a, b

ввод x

a:=0; b:=0

нц пока x > 0

    a := a + 2

    b := b+mod(x,10)

    x := div(x,10)

кц

вывод a, нс, b

кон

Python

x = int(input())

a = 0

b = 0

while x > 0:

    a += 2

    b += (x % 10)

    x //= 10

print(a)

print(b)

 


Ответ:

21
Задание 21 № 9807

Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 20. Для Вашего удобства программа приведена на пяти языках программирования.

 

БейсикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < G(K)

  I = I + 1

WEND

PRINT I

FUNCTION F(N)

   F = N * N

END FUNCTION

FUNCTION G(N)

  G = 3*N + 3

END FUNCTION

def f(n):

  return n*n

def g(n):

  return 3*n+3

k = int(input())

i = 1

while f(i) < g(k):

  i+=1

print (i)

ПаскальАлгоритмический язык

var

  k, i : longint;

function f(n: longint): longint;

begin

  f := n * n;

end;

function g(n: longint): longint;

begin

  g := 3*n + 3;

end;

begin

  readln(k);

  i := 1;

  while f(i) < g(k) do

    i := i+1;

  writeln(i)

end.

алг

нач

  цел i, k

  ввод k

  i := 1

  нц пока f(i) < g(k)

    i := i + 1

  кц

  вывод i

кон

алг цел f(цел n)

нач

  знач := n * n

кон

алг цел g(цел n)

нач

  знач := 3*n + 3

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

  return n * n;

}

long g(long n) {

  return 3*n + 3;

}

int main()

{

  long k, i;

  cin >> k;

  i = 1;

  while(f(i) < g(k))

    i++;

  cout << i << endl;

  return 0;

}

 


Ответ:

22
Задание 22 № 6230

Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.

 

БейсикПаскаль

a = 30

b = 6

a = a*3/b

IF a < b THEN

c = 2*a – 5*(b+4)

ELSE

c = 2*a + 5*(b+4)

END IF

a := 30;

b := 6;

a := a*3/b;

if a < b then

c := 2*a – 5*(b+4)

else

c := 2*a + 5*(b+4);

Си++Алгоритмический язык

a = 30;

b = 6;

a = a*3/b;

if (a < b)

c = 2*a – 5*(b+4);

else

c = 2*a + 5*(b+4);

a := 30

b := 6

a := a*3/b

если a < b

то c := 2*a – 5*(b+4)

иначе c := 2*a + 5*(b+4)

все

Python

a = 30

b = 6

a = a * 3 / b

if a < b:

    c = 2 * a – 5 * (b+4)

else:

    c = 2 * a + 5 * (b+4)

 


Ответ:

23
Задание 23 № 5819

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

 

¬(x1 ≡ x2) ∧ ( (x1 ∧ ¬x3) ∨ (¬x1 ∧ x3) ) = 0

¬(x2 ≡ x3) ∧ ( (x2 ∧ ¬x4) ∨ (¬x2 ∧ x4) ) = 0

...

¬(x9 ≡ x10) ∧ ( (x9 ∧ ¬x11) ∨ (¬x9 ∧ x11) ) = 0

 

В ответе не нужно перечислять все различные наборы значений переменных x1, x2, … x11 при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.


Ответ:

24
Задание 24 № 10487

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

 

 

БейсикPython

DIM N, DIGIT, SUM AS LONG

INPUT N

SUM = N MOD 10

WHILE N > 0

    DIGIT = N MOD 10

    IF DIGIT MOD 3 = 0 THEN

        SUM = DIGIT

    END IF

    N = N \ 10

WEND

IF SUM >0 THEN

    PRINT SUM

ELSE

    PRINT "NO"

END IF

N = int(input())

sum = N % 10

while N > 0:

    digit = N % 10

    if digit % 3 == 0:

        sum = digit

    N = N // 10

if sum > 0:

    print(sum)

else:

    print("NO")

ПаскальАлгоритмический язык

var N, digit, sum: longint;

begin

    readln(N);

    sum := N mod 10;

    while N > 0 do

    begin

        digit := N mod 10;

        if digit mod 3 = 0 then

            sum := digit;

        N := N div 10;

    end;

    if sum > 0 then

        writeln(sum)

    else

        writeln('NO')

end.

алг

нач

    цел N, digit, sum

    ввод N

    sum := mod(N, 10)

    нц пока N > 0

        digit := mod(N,10)

        если mod(digit, 3) = 0 то

            sum := digit

        все

        N := div(N,10)

    кц

    если sum > 0 то

        вывод sum

    иначе

        вывод "NO"

    все

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int N, digit, sum;

    cin >> N;

    sum = N % 10;

    while (N > 0)

    {

        digit = N % 10;

        if (digit % 3 == 0)

            sum = digit;

        N = N / 10;

    }

    if (sum > 0)

        cout « sum « endl;

    else

        cout << "NO";

    return 0;

}

 

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 578.

2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.

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

1) выпишите строку, в которой сделана ошибка;

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

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


Решения заданий части С не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

25
Задание 25 № 5693

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от -1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, кратных 4. Если в исходном массиве нет элемента, значение которого положительно и делится на 4, то вывести сообщение «Не найдено».

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БэйсикПаскаль

N = 20

DIM A(N) AS INTEGER

DIM I, J, MIN AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

const

    N = 20;

var

    a: array [1..N] of integer;

    i, j, min: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

Си++Алгоритмический язык

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, min;

    for (i = 0; i < N; i++)

        cin >> a[i];

...

}

алг

нач

    цел N = 20

    целтаб a[1:N]

    цел i, j, min

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

кон

Естественный язык

Объявляем массив А из 20 элементов.

Объявляем целочисленные переменные I, J, MIN.

В цикле от 1 до 20 вводим элементы массива А с 1-го по 20-й.

Python

// допускается также использовать

// целочисленные переменные j, min

a = []

n = 20

for i in range(0, n):

a.append(int(input()))

 

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


Решения заданий части С не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

26
Задание 26 № 9776

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 20 камней, а в другой 7 камней; такую позицию в игре будем обозначать (20, 7). Тогда за один ход можно получить любую из четырёх позиций: (21, 7), (40, 7), (20, 8), (20, 14). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

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

встретиться при различной игре противника. Например, при начальных позициях (10, 34), (11, 33) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.

Задание 1. Для каждой из начальных позиций (10, 33), (12, 32) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 2. Для каждой из начальных позиций (10, 32), (11, 32), (12, 31) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 3. Для начальной позиции (11, 31) укажите, кто из игроков имеет выигрышную стратегию. Опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Постройте дерево всех партий, возможных при указанной Вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.


Решения заданий части С не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

27
Задание 27 № 5226

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

 

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

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

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

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

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

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

 

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

 

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

 

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

 

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

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

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

 

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

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

 

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

6 15

69485 Jack

95715 qwerty

95715 Alex

83647 М

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)


Решения заданий части С не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.
Времени прошло:0:00:00
Времени осталось:3.9166666666666665:55:00
Завершить тестирование, свериться с ответами, увидеть решения; если работа задана учителем, она будет ему отправлена.