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




Вариант № 3352004

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


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



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

Вычислите: 101011012 − 2558 + D16. Ответ запишите в десятичной системе счисления. В ответе запишите только число, основание системы счисления писать не нужно.


Ответ:

2
Задание 2 № 13478

Логическая функция F задаётся выражением:

 

(xz) ∨ (x ∧ ¬y ∧ ¬z).

 

На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.

 

Перем. 1Перем. 2Перем. 3Функция
?????????F
0101
0111
1111

 

 

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

 

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

 

 

Перем. 1Перем. 2Функция
??????F
001
010
101
111

 

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


Ответ:

3
Задание 3 № 4707

Между населёнными пунктами А, В, С, D, Е, F, Z построены дороги, протяжённость которых приведена в таблице. (Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.)

 

ABCDEFZ
A757
B75727
C53
D732
E27228
F23
Z5783

 

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


Ответ:

4
Задание 4 № 14765

Даны фрагменты двух таблиц из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. На

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

 

Таблица 1
IDФамилия_И. О.ПолГод рождения
866Кравец Д.К.Ж1942
867Тошич Б.Ф.М1938
879Гонтарь В.А.Ж1998
885Крон К.Г.М1990
900Кислюк Л.А.Ж2012
904Петраш А.И.М1981
911Тошич А.Б.Ж1971
932Петраш П.А.Ж2016
938Тошич И.Б.М1974
949Седых Г.Р.Ж1966
970Кислюк А.П.М1968
995Тошич Т.И.Ж2002
1017Тошич П.И.М2003
1026Мухина Р.Г.Ж1983
1041Сайко М.А.Ж2010
1056Кислюк П.А.М1989
............

 

Таблица 2
ID_РодителяID_Ребенка
866911
866938
867911
867938
911879
9111041
1026900
938995
9381017
949995
9491017
970879
9701041
1026932
904900
904932
......


Ответ:

5
Задание 5 № 5994

Для передачи данных по каналу связи используется 5-битовый код. Сообщение содержит только буквы А, Б и В, которые кодируются следующими кодовыми словами:

 

A — 11010, Б — 00110, В — 10101.

 

При передаче возможны помехи. Однако некоторые ошибки можно попытаться исправить. Любые два из этих трёх кодовых слов отличаются друг от друга не менее чем в трёх позициях. Поэтому если при передаче слова произошла ошибка не более чем в одной позиции, то можно сделать обоснованное предположение о том, какая буква передавалась. (Говорят, что «код исправляет одну ошибку».) Например, если получено кодовое слово 10110, считается, что передавалась буква Б. (Отличие от кодового слова для Б — только в одной позиции, для остальных кодовых слов отличий больше.) Если принятое кодовое слово отличается от кодовых слов для букв А, Б, В более чем в одной позиции, то считается, что произошла ошибка(она обозначается‘x’).

 

Получено сообщение 00111 11110 11000 10111. Декодируйте это сообщение — выберите правильный вариант.

 

1) БААВ

2) БААx

3) xxxx

4) xААx


Ответ:

6
Задание 6 № 3404

Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:

 

1. прибавь 1

2. умножь на 2

 

Выполняя команду номер 1, КАЛЬКУЛЯТОР прибавляет к числу на экране 1, а выполняя

команду номер 2, умножает число на экране на 2. Укажите минимальное число команд, которое должен выполнить исполнитель, чтобы получить из числа 19 число 629.


Ответ:

7
Задание 7 № 4837

В ячейки диапазона C3:F6 электронной таблицы записаны числа, как показано на рисунке.

 

ABCDEF
1
2
31234
411131517
521242730
631353943

 

В ячейке В2 записали формулу =E$5-$D4. После этого ячейку В2 скопировали в ячейку А1. Какое число будет показано в ячейке А1?

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


Ответ:

8
Задание 8 № 3253

Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

 

БейсикPython

DIM K, S AS INTEGER

S = 0

K = 0

WHILE K < 12

    S = S + 2*K

    K = K + 3

WEND

PRINT S

s = 0

k = 0

while k < 12:

    s += 2*k

    k += 3

print(s)

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

var k, s: integer;

begin

       s:=0;

       k:=0;

      while k < 12 do begin

            s:=s+2*k;

            k:=k+3;

       end;

      write(s);

end.

алг

нач

    цел k, s

    s := 0

    k := 0

    нц пока k < 12

        s := s + 2*k

        k := k + 3

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 0, k = 0;

    while (k < 12) {

        s = s + 2*k;

        k = k + 3;

    }

    cout << s << endl;

    return 0;

}

 


Ответ:

9
Задание 9 № 6962

Документ объёмом 16 Мбайт можно передать с одного компьютера на другой двумя способами.

А. Сжать архиватором, передать архив по каналу связи, распаковать.

Б. Передать по каналу связи без использования архиватора.

При этом:

· скорость передачи данных по каналу связи составляет 222 бит в секунду;

· объём сжатого архиватором документа равен 25% от исходного;

· время, требуемое на сжатие документа, — 8 секунд, на распаковку — 2 секунды.

Какой способ быстрее и на сколько?

В ответе напишите букву А, если быстрее способ А, или Б, если быстрее способ Б. Сразу после буквы напишите, на сколько секунд один способ быстрее другого.

Например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23.

Единицы измерения «секунд», «сек.», «с» и т. п. к ответу добавлять не нужно.


Ответ:

10
Задание 10 № 11306

Вася составляет 4-буквенные слова, в которых есть только буквы Б, Р, О, Н, Х, И причём буква Х используется в каждом слове только 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?


Ответ:

11
Задание 11 № 14697

Ниже на пяти языках программирования записана рекурсивная функция F.

 

БейсикPython

FUNCTION F(n)

    IF n > 2 THEN

         F = F(n-2) + F(n\2)

     ELSE

         F = n

    END IF

END FUNCTION

def F(n):

    if n > 2:

         return F(n-2) + F(n//2)

    else:

         return n

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

function F(n: integer): integer;

begin

    if n > 2 then

        F := F(n-2) + F(n div 2)

    else

        F := n

end;

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

нач

    если n > 2

        то

         знач := F(n-2) + F(div(n,2))

        иначе

            знач := n

    все

кон

Си

int F(int n)

{

    if (n > 2)

        return F(n-2) + F(n/2);

    else

        return n;

}

 

 

Чему будет равно значение, вычисленное при выполнении вызова F(9)?


Ответ:

12
Задание 12 № 14227

В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места – нули.

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

Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.

Для узла с IP-адресом 93.138.96.47 адрес сети равен 93.138.64.0. Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа.


Ответ:

13
Задание 13 № 6258

Для регистрации на сайте некоторой страны пользователю требуется придумать пароль. Длина пароля — ровно 11 символов. В качестве символов могут быть использованы десятичные цифры и 32 различные буквы местного алфавита, причём все буквы используются в двух начертаниях: как строчные, так и прописные (регистр буквы имеет значение!). Под хранение каждого такого пароля на компьютере отводится одинаковое и минимально возможное целое количество байтов. При этом используется посимвольное кодирование, и все символы кодируются одинаковым и минимально возможным количеством битов. Определите объём памяти, который используется для хранения 50 паролей. (Ответ дайте в байтах.)


Ответ:

14
Задание 14 № 7197

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

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

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

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

В цикле

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

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

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

 

НАЧАЛО

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

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

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

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

КОНЕЦ


Ответ:

15
Задание 15 № 5281

На рисунке - схема дорог, связывающих города А, В, С, D, Е, F, G, Н, К, L, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город М?


Ответ:

16
Задание 16 № 13465

Решите уравнение:

101N+1 = 101N + 1116

Ответ запишите в десятичной системе счисления.


Ответ:

17
Задание 17 № 11353

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

В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

 

ЗапросНайдено страниц
(в сотнях тысяч)
Бабочка22
Гусеница40
Трактор28
Бабочка & Гусеница20
Трактор & Гусеница16
Трактор & Бабочка0

 

Какое количество страниц (в сотнях тысяч) будет найдено по запросу Трактор | Бабочка | Гусеница?

Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.


Ответ:

18
Задание 18 № 9322

Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула

 

ДЕЛ(x, А) → (¬ДЕЛ(x, 21) + ДЕЛ(x, 35))

 

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

Задание К. Ю. Полякова


Ответ:

19
Задание 19 № 5082

В программе описан одномерный целочисленный массив А, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 10.

 

 

БейсикPython

n = 10

FOR i = 1 TO n

    A (n+1-i) = 2*A(i)

NEXT i

 

n = 10

for i in range(1, n+1):

        A [n+1-i] = 2*A[i]

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

n:= 10;

for i:=1 to n do

        A [n+1-i] := 2*A[i];

n:= 10

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

        A [n+1-i] := 2*A[i]

кц

 

Си++

n = 10;

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

        A [n+1-i] = 2*A[i];

}

 

 

Перед началом выполнения фрагмента элементы массива имеют значения соответственно 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, т.е. А[1] = 2; А[2] = 4 и т.д. Укажите значение, которое после выполнения указанного фрагмента программы имеют два или более рассмотренных в этом фрагменте элемента массива. Если таких чисел несколько, укажите наибольшее из них.

 

1) 8

2) 16

3) 20

4) такого значения нет


Ответ:

20
Задание 20 № 10394

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

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

  A = A + 1

  IF X MOD 2 = 0 THEN

    B = B+(X MOD 10)

  END IF

  X = X\10

WEND

PRINT A

PRINT B

x = int(input())

a=0; b=0

while x>0:

  a=a+1

  if x%2==0:

    b += x%10

  x=x//10

print(a)

print(b))

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

program B20;

var x, a, b: integer;

begin

  readln(x);

  a := 0; b := 0;

  while x > 0 do

  begin

    a := a + 1;

    if x mod 2 = 0 then

      b := b + (x mod 10);

    x := x div 10;

  end;

  writeln(a); write(b);

end.

алг

нач

  цел x, a, b

  ввод x

  a := 0; b := 0

  нц пока x > 0

    a := a+1

    если mod(x,2)=0

      то b := b + mod(x,10)

    все

    x := div(x,10)

  кц

  вывод a, нс, b

кон

Си++

#include <iostream>

using namespace std;

int main()

{

  int x, a, b;

  cin >> x;

  a = 0; b = 0;

  while (x > 0) {

    a = a+1;

    if (x%2 == 0) {

      b = b +(x%10);

    }

    x = x/10;

  }

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

  return 0;

}

 


Ответ:

21
Задание 21 № 5065

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

 

 

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

DIM A, B, T, M, R AS INTEGER

A = -3: B = 25

M = A: R = F(А)

FOR T = A TO B

    IF F(T) < R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT R

FUNCTION F(x)

    F = 6*(13+x)*(13+x)+127

END FUNCTION

var a,b,t,M,R: integer;

    Function F(x:integer): integer;

        begin

            F := 6*(13+x)*(13+x)+127

        end;

begin

    a := -3; b := 25;

    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(R)

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

return 6*(13+x)*(13+x)+127;

}

int main()

{

    int a, b, t, M, R;

    a = -3; b = 25;

    M = a; R = F(a);

    for (t = a; t <= b; t++) {

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout « R « endl;

}

алг

нач

цел a, b, t, M, R

a := -3; b := 25

M := a; R := F(a)

нц для t от a до b

если F(t) < R

то

M := t; R := F(t)

все

кц

вывод R

кон

алг цел F(цел x)

нач

знач := 6*(13+x)*(13+x)+127

кон

Python

def f(x):

    return 6*(13+x)*(13+x)+127

a = -3

b = 25

M = a

R = F(a)

for t in range(a, b+1):

    if (f(t) < R):

        M = t

        R = f(t);

print(R)

 


Ответ:

22
Задание 22 № 13606

Исполнитель А17 преобразует число на экране.

У исполнителя есть три команды, которым присвоены номера:

1. Прибавить 1

2. Умножить на 2

3. Умножить на 3

Первая команда увеличивает число на экране на 1, вторая – умножает его на 2, третья – умножает на 3.

Программа для исполнителя А17 – это последовательность команд.

Сколько существует программ, для которых при исходном числе 2 результатом является число 28 и при этом траектория вычислений содержит число 14?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.


Ответ:

23
Задание 23 № 14709

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

(x1→x2) ∧ (x1→y1) = 1

(x2→x3) ∧ (x2→y2) = 1

(x7→x8) ∧ (x7→y7) = 1

(x8→y8) = 1

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

В качестве ответа Вам нужно указать количество таких наборов.


Ответ:

24
Задание 24 № 7350

Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех девяток. Ведущие нули выводить не надо. Если в числе N нет цифр кроме девяток и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 481, а при вводе 2009 нужно вывести 2. Для решения этой задачи ученик написал такую программу:

 

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

DIM N, M AS LONG

DIM D AS INTEGER

INPUT N

M = 0

WHILE N>1

D = N MOD 10

IF D<9 THEN

M = M + D

END IF

N = N \ 10

WEND

PRINT M

END

var n, m: longint;

d: integer;

begin

read(n);

m := 0;

while n>1 do begin

d := n mod 10;

if d < 9 then begin

m := m + d;

end;

n := n div 10;

end;

write(m);

end.

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

#include <iostream>

using namespace std;

int main(){

long int n, m;

int d;

cin >> n;

m = 0;

while (n>1) {

d = n%10;

if (d<9) {

m = m + d;

}

n = n / 10;

}

cout << m;

}

алг

нач

цел n, m

цел d

ввод n

m := 0

нц пока n>1

d := mod(n,10)

если d<9 то

m := m + d

все

n := div(n,10)

кц

вывод m

кон

Python

n = int(input())

m = 0

while n > 1:

    d = n % 10

    if d < 9:

        m = m + d

    n //= 10

print(m)

 

 

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

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

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

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

 

Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.


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

25
Задание 25 № 5565

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

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

 

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

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 № 5502

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или два камня или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 17 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится не менее 36. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 36 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 35.

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

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

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

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

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

3. Укажите значение S, при котором:

— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и

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

Для указанного значения S опишите выигрышную стратегию Вани. Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход, в узлах — количество камней в куче.


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

27
Задание 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)


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