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


Вариант № 4433623

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


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


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

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


Ответ:

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

На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах).

 

П1П2П3П4П5П6П7
П14015
П2403548
П3106511
П415352233
П51050
П64865225040
П7113340

 

Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите длину дороги из пункта Б в пункт Д. В ответе запишите целое число.


Ответ:

4
Задание 4 № 3763

Сколько записей удовлетворяют условию «Пол = 'м' И Обществознание < Биология»?

 

Фамилия  Пол Родной язык Английский язык Обществознание Химия Биология 
Андреевм10072686670
Борисовм7545904565
Васильеваж8577737974
Дмитриевм8932815480
Егороваж8878988575
Захароваж7280667070

 

 


Ответ:

5
Задание 5 № 15942

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 00, Г — 101. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ГРАММ?

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


Ответ:

6
Задание 6 № 10380

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

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

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

При­мер. Ис­ход­ное число: 9575. Суммы: 9 + 5 = 14; 5 + 7 = 12; 7 + 5 = 12. Наи­боль­шие суммы: 14, 12. Ре­зуль­тат: 1214.

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


Ответ:

7
Задание 7 № 6001

Дан фрагмент электронной таблицы:

 

ABC
186
2= (B1 + 1)/(2*А1)= 1/(В1+1)= 3/(2*В1+С1)

 

Какое целое число должно быть записано в ячейке B1, чтобы построенная после выполнения вычислений диаграмма по значениям диапазона ячеек A2:С2 соответствовала рисунку?

 

Известно, что все значения диапазона, по которым построена диаграмма, имеют один и тот же знак.


Ответ:

8
Задание 8 № 9689

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

 

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

a = 17

b = 20

a = 3 * a - b

IF a > b THEN

  c = 5 * a - b

ELSE

  c = 5 * a + b

END IF

a := 17;

b := 20;

a := 3 * a - b;

if a > b then

  c := 5 * a - b

else

  c := 5 * a + b;

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

a = 17;

b = 20;

a = 3 * a - b;

if (a > b)

  c = 5 * a - b;

else

  c = 5 * a + b;

a := 17

b := 20

a := 3 * a - b

если a > b

  то c := 5 * a - b

  иначе c := 5 * a + b

все

Python

a = 17

b = 20

a = 3 * a - b

if a > b:

    c = 5 * a - b

else:

    c = 5 * a + b

 


Ответ:

9
Задание 9 № 5654

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

 

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

 

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

 

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

 

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

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

 · время, требуемое на сжатие документа, — 12 секунд, на распаковку — 3 секунды?

 

В ответе напишите букву А, если быстрее способ А, или Б, если быстрее способ Б. Сразу после буквы напишите число, обозначающее, на сколько секунд один способ быстрее другого. Так, например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23. Единицы измерения «секунд», «сек.», «с.» к ответу добавлять не нужно.


Ответ:

10
Задание 10 № 4976

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


Ответ:

11
Задание 11 № 13595

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

 

 

БейсикPython

FUNCTION F(n)

    IF n > 2 THEN

        F = F(n - 1) + G(n - 2)

    ELSE

        F = n

    END IF

END FUNCTION

 

FUNCTION G(n)

    IF n > 2 THEN

        G = G(n - 1) + F(n - 2)

    ELSE

        G = n+1

    END IF

END FUNCTION

def F(n):

    if n > 2:

        return F(n - 1)+ G(n - 2)

    else: return n

 

def G(n):

    if n > 2:

        return G(n - 1)+ F(n - 2)

    else: return n+1

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

function F(n: integer): integer;

begin

    if n > 2 then

        F := F(n - 1) + G(n - 2)

    else

        F := n;

end;

 

function G(n: integer): integer;

begin

    if n > 2 then

        G := G(n - 1) + F(n - 2)

    else

        G := n+1;

end;

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

нач

    если n > 2

        то

            знач := F(n - 1)+G(n - 2)

        иначе

            знач := n

    все

кон

 

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

нач

    если n > 2

        то

            знач := G(n - 1)+F(n - 2)

        иначе

            знач := n+1

    все

кон

Си

int F(int n)

{

if (n > 2)

return F(n - 1) + G(n - 2);

else return n;

}

int G(int n)

{

if (n > 2)

return G(n - 1) + F(n -2);

else return n+1;

}

 

 

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


Ответ:

12
Задание 12 № 11308

Для узла с IP-адресом 203.155.196.98 адрес сети равен 203.155.192.0. Найдите наибольшее возможное количество единиц в двоичной записи маски подсети.


Ответ:

13
Задание 13 № 7697

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


Ответ:

14
Задание 14 № 15630

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

 

1. заменить (v, w)

2. нашлось (v)

 

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из одной единицы и 75 стоящих справа от нее нулей? В ответе запишите сколько нулей будет в конечной строке.

 

НАЧАЛО

ПОКА нашлось (10) ИЛИ нашлось (1)

    ЕСЛИ нашлось (10)

        ТО заменить (10, 001)

        ИНАЧЕ заменить (1, 00)

    КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 6782

На рисунке – схема дорог, связывающих города A, B, C, D, E, F, G, H, K, L, M, N, Z. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города A в город Z?

 


Ответ:

16
Задание 16 № 5971

В системе счисления с некоторым основанием десятичное число 21 записывается в виде 30. Укажите это основание.


Ответ:

17
Задание 17 № 5784

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

 

ЗапросНайдено страниц
(в тысячах)
Мадрид & Париж475
Мадрид & (Берлин | Париж)905
Мадрид & Берлин555

 

Компьютер печатает количество страниц (в тысячах), которое будет найдено по следующему запросу: Мадрид & Париж & Берлин Укажите целое число, которое напечатает компьютер. Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.


Ответ:

18
Задание 18 № 10392

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

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

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

 

 

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


Ответ:

19
Задание 19 № 14278

Ниже пред­став­лен за­пи­сан­ный на раз­ных язы­ках про­грам­ми­ро­ва­ния фраг­мент одной и той же про­грам­мы. В про­грам­ме опи­сан од­но­мер­ный це­ло­чис­лен­ный мас­сив A; в пред­став­лен­ном фраг­мен­те об­ра­ба­ты­ва­ют­ся эле­мен­ты мас­си­ва с ин­дек­са­ми от 1 до 10.

 

Бей­сикPython

n = 10

d = 6

FOR j = 1 TO d

  s = A(1)

  FOR i = 1 TO n-1

    A(i) = A(i+1)

  NEXT i

  A(10) = s

NEXT j

n = 10

d = 6

for j in range(1,d+1):

  s = A[1]

  for i in range(1,n):

    A[i] = A[i+1]

  A[10] = s

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

n := 10;

d := 6;

for j:=1 to d do begin

  s := A[1];

  for i:=1 to n-1 do begin

    A[i] := A[i+1];

  end;

  A[10] := s;

end;

n := 10

d := 6

нц для j от 1 до d

  s := A[1]

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

    A[i] := A[i+1]

  кц

  A[10]:= s

кц

Си++

n = 10;

d = 6;

for (j = 1; j <= d; j++) {

  s = A[1];

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

    A[i] = A[i+1];

  }

  A[10] = s;

}

 

 

Перед на­ча­лом вы­пол­не­ния про­грам­мы эти эле­мен­ты мас­си­ва имели зна­че­ния 0, 1, 4, 9, 6, 5, 6, 8, 4, 1 (т.е. A[1] = 0; A[2] = 1; …; A[10] = 1).

Зна­че­ние ка­ко­го из этих эле­мен­тов мас­си­ва будет наи­боль­шим после вы­пол­не­ния фраг­мен­та про­грам­мы? В от­ве­те ука­жи­те ин­декс эле­мен­та – число от 1 до 10.

 

При­ме­ча­ние. В язы­ках Python и C++ ну­ле­вой эле­мент мас­си­ва может при­ни­мать любое зна­че­ние, эле­мен­ты мас­си­ва с ин­дек­са­ми от 1 до 10 объ­яв­ле­ны так, как ука­за­но в усло­вии.


Ответ:

20
Задание 20 № 9770

Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 30.

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = X - 30

M = X + 30

WHILE L <> M

   IF L > M THEN

    L = L – M

  ELSE

    M = M – L

END IF

WEND

PRINT M

x = int(input())

L = x-30

M = x+30

while L != M:

  if L > M:

    L = L - M

  else:

    M = M - L

print(M)

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

var x, L, M: integer;

begin

  readln(x);

  L := x-30;

  M := x+30;

  while L <> M do

    if L > M then

      L := L - M

    else

      M := M – L;

  writeln(M);

end.

алг

нач

  цел x, L, M

  ввод x

  L := x-30

  M := x+30

  нц пока L <> M

    если L > M

      то

      L := L – M

      иначе

      M := M – L

    все

  кц

  вывод M

кон

Си++

#include <iostream>

using namespace std;

int main()

{

  int x, L, M;

  cin >> x;

  L = x-30;

  M = x+30;

  while (L != M){

    if(L > M)

      L = L - M;

    else

      M = M - L;

  }

  cout « M « endl;

  return 0;

}

 


Ответ:

21
Задание 21 № 14782

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

 

Бей­сикPython

DIM K, I AS LONG

INPUT K

I = 20

WHILE F(I) > K

    I = I - 1

WEND

PRINT I

FUNCTION F(N)

    F = N * N * N

END FUNCTION

def f(n):

    return n * n * n

k = int(input())

i = 20

while f(i) > k:

    i -= 1

print(i)

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

var

    k, i : longint;

function f(n: longint): longint;

begin

    f := n * n * n

end;

begin

    readln(k);

    i := 20;

    while f(i) > k do

        i := i-1;

    writeln(i)

end.

алг

нач

    цел k, i

    ввод k

    i := 20

    нц пока f(i) > k

        i := i - 1

    кц

    вывод i

кон

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

нач

    знач := n * n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

return n * n * n;

}

int main()

{

    long k, i;

    cin >> k;

    i = 20;

    while (f(i) > k) --i;

    cout << i;

    return 0;

}

 


Ответ:

22
Задания Д18 № 806

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

 

 

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

a = 6*12 + 3

b = a \ 10 + 5

a = b MOD 10 + 1

c = a*a + b*b – a / 2 * b

a := 6*12 + 3;

b := a div 10 + 5;

a := b mod 10 + 1;

c := a*a + b*b – a / 2 * b;

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

a = 6*12 + 3;

b = a / 10 + 5;

a = b % 10 + 1;

c = a*a + b*b – a / 2.0 * b;

a := 6*12 + 3

b := div(a, 10) + 5

a := mod(b, 10) + 1

c := a*a + b*b – a / 2 * b

Python

a = 6*12 + 3

b = a // 10 + 5

a = b % 10 + 1

c = a*a + b*b – a / 2 * b

 


Ответ:

23
Задание 23 № 13607

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

 

((x1 ≡ x2) → (x2 ≡ x3)) /\ ((y1 ≡ y2) → (y2 ≡ y3)) = 1

((x2 ≡ x3) → (x3 ≡ x4)) /\ ((y2 ≡ y3) → (y3 ≡ y4)) = 1

((x6 ≡ x7) → (x7 ≡ x8)) /\ ((y6 ≡ y7) → (y7 ≡ y8)) = 1

 

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


Ответ:

24
Задание 24 № 5067

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

 

ПаскальБейсик
var x, y: real;

begin

readln(x,у);

if у >= x*x − 6 then begin

if x*x + y*y <= 16 then write('принадлежит')

end

else

if x >= 0 then

write('принадлежит')

else

write('не принадлежит')

end.

INPUT х, у

IF у >= х*х − 6 THEN

IF х*х + у*у <= 16 THEN PRINT "принадлежит"

ELSE

IF х => О THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

END IF

END IF

END

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

#include <iostream>

using namespace std;

int main(){

float x, y;

cin >> x >> y;

if (y >= x*x − 6) {

if (x*x +y*y <= 16) cout << принадлежит;

}

else

if (x >= 0)

cout << "принадлежит";

else

cout << "не принадлежит";

}

алг

нач

вещ х, у

ввод х, у

если у >= х*х − 6 то

если х*х + у*у <= 16 то

вывод 'принадлежит'

все

иначе

если х >= 0 то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

кон

Python

x = float(input())

y = float(input())

if у >= х*х − 6:

    if х*х + у*у <= 16:

        print("принадлежит")

else:

    if х => 0:

        print("принадлежит")

    else:

        print("не принадлежит")

 

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

 

ОбластьУсловие 1 (y >= x*x – 6)Условие 2 (x*x + y*y<= 16)Условие 3 (x >= 0)ВыводВерно
да
принадлежитнет
не принадлежитда
да
дада

 

Графы протокола содержат следующую информацию.

 

Область - часть плоскости, которой принадлежит проверяемая точка. (Все

возможные области отмечены на рисунке буквами А, В, С, ... S.)

 

Условие 1, Условие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 № 6318

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

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

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

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

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

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

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

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

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

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

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


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

27
Задание 27 № 10303

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

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

Программа считается эффективной по времени, если при увеличении количества точек в k раз время работы возрастает не более чем в k раз.

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

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

Входные данные

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

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

3

6 6

-8 8

9 7

Выходные данные

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

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


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