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


Вариант № 5757651

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


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


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

Сколько существует целых чисел x, для которых выполняется неравенство AB16x < 3118?

В ответе укажите количество чисел, сами числа писать не нужно.


Ответ:

2
Задание 2 № 15912

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

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

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

 

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

 

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

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

 

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

 

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


Ответ:

3
Задание 3 № 7777

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

 

ABCDEFG
A26
B252
C548
D62427
E25
F77
G857

 

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


Ответ:

4
Задание 4 № 16807

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

 

Таблица 1
IDФамилия И.О.ПолГод рождения
152Павленко А. К.М1942
232Сокол Е. П.Ж1964
314Хитрук Е. А.Ж1970
323Кривич Л. П.Ж1947
343Симонян А. А.М1989
407Хитрук П. А.М1937
424Косых В. Г.М1984
468Симонян С. И.Ж1992
613Хитрук Н. П.Ж1939
760Хитрук И. П.М1968
803Сокол Л. М.Ж1986
880Косых Г. В.М2007
902Сокол М. Л.М1965
957Симонян Т. А.М2017

Таблица 2
ID РодителяID Ребенка
152314
232803
314468
323314
343957
407760
407232
424880
468957
613760
613232
760468
803880
902803


Ответ:

5
Задание 5 № 15100

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

 

БукваКодовое слово
А11
Б0010
Г100
Е0011

 

БукваКодовое слово
И
М01
Р000
Т

 

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

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


Ответ:

6
Задание 6 № 15128

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

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

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

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

 

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

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

 

Примечание. Если меньшие из сумм равны, то отбрасывают одну из них.


Ответ:

7
Задание 7 № 13353

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

 

ABC
1310
2=(A1-3)/(B1+3)=(A1-2)/(C1-3)= C1/(A1 – 4)

 

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


Ответ:

8
Задание 8 № 9192

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

 

БейсикPython

DIM N, S AS INTEGER

N = 1

S = 0

WHILE N <= 650

    S = S + 20

    N = N * 5

WEND

PRINT S

n = 1

s = 0

while n <= 650:

    s = s + 20

    n = n * 5

print(s)

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

var n, s: integer;

begin

    n := 1;

    s := 0;

    while n <= 650 do

    begin

        s := s + 20;

        n := n * 5

    end;

    write(s)

end.

алг

нач

    цел n, s

    n := 1

    s := 0

    нц пока n <= 650

        s := s + 20

        n := n * 5

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 1;

    s = 0;

    while (n <= 650)

    {

        s = s + 20;

        n = n * 5;

    }

    cout « s « endl;

    return 0;

}

 


Ответ:

9
Задание 9 № 18557

Для хранения в информационной системе документы сканируются с разрешением 600 dpi и цветовой системой, содержащей 224 = 16 777 216 цветов. Методы сжатия изображений не используются. Средний размер отсканированного документа составляет 12 Мбайт. В целях экономии было решено перейти на разрешение 300 dpi и цветовую систему, содержащую 216 = 65 536 цветов. Сколько Мбайт будет составлять средний размер документа, отсканированного с изменёнными параметрами?


Ответ:

10
Задание 10 № 4847

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


Ответ:

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

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

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

Узлы с IP-адресами 98.162.78.100 и 98.162.78.90 находятся в одной сети. Чему равно наибольшее количество возможных единиц в маске этой сети?


Ответ:

13
Задание 13 № 10316

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 20 символов и содержащий только символы из 8-символьного набора: А, В, C, D, Е, F, G, H. В базе данных для хранения сведений о каждом пользователе отведено одинаковое минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым минимально возможным количеством бит. Кроме собственно пароля для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт, одно и то же для всех пользователей.

Для хранения сведений о 20 пользователях потребовалось 400 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число — количество байт.


Ответ:

14
Задание 14 № 7197

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

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

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

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

В цикле

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

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

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

 

НАЧАЛО

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

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

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

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

КОНЕЦ


Ответ:

15
Задание 15 № 13361

На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М.

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

Сколько существует различных путей из города А в город М, проходящих через город В?


Ответ:

16
Задание 16 № 2329

Укажите наименьшее основание системы счисления, в которой запись числа 50 трехзначна.


Ответ:

17
Задание 17 № 7465

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

 

ЗапросНайдено страниц

(в сотнях тысяч)

Ухо35
Подкова25
Наковальня40
Ухо | Подкова | Наковальня70
Ухо & Наковальня10
Ухо & Подкова0

 

Какое количество страниц (в сотнях тысяч) будет найдено по запросу Подкова & Наковальня?

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


Ответ:

18
Задание 18 № 15830

На числовой прямой задан отрезок A. Известно, что формула

 

((xA) → (x2 ≤ 100)) ∧ ((x2 ≤ 64) → (xA))

 

тождественно истинна при любом вещественном x. Какую наименьшую длину может иметь отрезок A?


Ответ:

19
Задание 19 № 18088

Представленный ниже на пяти языках программирования фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 0 до 11. Перед началом выполнения данного фрагмента эти элементы массива имели значения 20, 19, 33, 21, 42, 13, 12, 24, 4, 22, 6, 10 (т.е. A[0] = 20, A[1] = 19, …, A[11] = 10). Определите значение переменной s после выполнения фрагмента.

 

 

БейсикPython

N = 1

S = 1

FOR I = 1 TO 11

    IF A(I) < A(N) THEN

        S = S * I

        T = A(I)

        A(I) = A(N)

        A(N) = t

    END IF

NEXT I

 

n = 1

s = 1

for i in range(1, 12):

    if A[i] < A[n]:

        s = s * i

        t = A[i]

        A[i] = A[n]

        A[n] = t

 

 

 

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

n:= 1;

s:= 1;

for i:=1 to 11 do

    if A[i] < A[n] then begin

        s := s * i;

        t := A[i];

        A[i] := A[n];

        A[n] := t;

    end;

 

s := 1

n := 1

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

    если A[i] < A[n] то

        s := s * i

        t := A[i]

        A[i] := A[n]

        A[n] := t;

    все

кц

С++

n = 1;

s = 1;

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

    if (A[i] < A[n]) {

        s = s * i;

        t = A[i];

        A[i] = A[n];

        A[n] = t;

    }

}

 


Ответ:

20
Задание 20 № 13577

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

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 2*X-30

M = 2*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 = 2*x-30

M = 2*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 := 2*x-30;

  M := 2*x+30;

  while L <> M do begin

    if L > M then

      L := L - M

    else

      M := M - L;

  end;

  writeln(M);

end.

алг

нач

  цел x, L, M

  ввод x

  L := 2*x-30

  M := 2*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 = 2*x-30;

  M = 2*x+30;

  while (L != M) {

    if (L > M)

      L = L - M;

    else

      M = M - L;

  }

  cout « M « endl;

  return 0;

}

 


Ответ:

21
Задание 21 № 16396

Какое число будет напечатано в результате работы следующей программы? Для Вашего удобства программа приведена на пяти языках программирования.

 

 

БейсикPython

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

A = −11: B = 11

M = A : R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

    F = 2*(x*x−50)*(x*x−50)+6

END FUNCTION

def F(x):

    return 2*(x*x−50)*(x*x−50)+6

 

a = −11; b = 11

M = a; R = F(a)

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

    if F(t) <= R:

        M = t; R = F(t)

print(M+R)

 

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

var

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

 

function F(x: integer): integer;

begin

    f := 2*(x*x−50)*(x*x−50)+6;

end;

 

begin

    a := −11; b := 11;

    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+R);

end.

 

алг

нач

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

    a := −11; b := 11

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

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

        если F(t) <= R

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

        все

    кц

    вывод M + R

кон

 

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

нач

   знач:=2*(x*x−50)*(x*x−50)+6

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

    return 2*(x*x−50)*(x*x−50)+6;

}

 

int main()

{

    int a, b, t, M, R;

    a = −11; b = 11;

    M = a; R = f(a);

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

        if (f(t) <= R) {

            M = t; R = f(t);

        }

    }

    cout << M + R;

    return 0;

}

 


Ответ:

22
Задание 22 № 15932

Исполнитель РазДваТри преобразует число на экране.

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

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

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

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

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

Программа для исполнителя РазДваТри — это последовательность команд.

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

Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы 312 при исходном числе 6 траектория будет состоять из чисел 18, 19, 38.


Ответ:

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

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

 

 

БейсикPython

DIM P,I,X,COUNT AS INTEGER

COUNT = 0

P = 0

FOR I = 1 TO 4

    INPUT X

    IF X MOD 10 = 0 THEN

        COUNT = COUNT + 1

        P = X

    END IF

NEXT I

IF P > 0 THEN

    PRINT COUNT

    PRINT P

ELSE

    PRINT ‘NO’

END IF

count = 0

p = 0

for i in range(4):

    x = int(input())

    if x % 10 == 0:

        count = count + 1

        p = x

if p > 0:

    print(count)

    print(p)

else:

    print(‘NO’)

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

var p,i,x,count: integer;

begin

    count := 0;

    p := 0;

    for i := 1 to 4 do begin

        read (x);

        if x mod 10 = 0 then

        begin

            count := count+1;

            p := x;

        end

    end;

if p > 0 then begin

    writeln(count);

    writeln(p);

end

else

    writeln('NO')

end.

алг

нач

    цел p, i, x, count

    count := 0

    p := 0

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

        ввод x

        если mod(x,10) = 0 то

            count := count + 1

            p := x

        все

    кц

    если p > 0 то

        вывод count

        вывод p

    иначе вывод "NO"

кон

С++

#include <iostream>

using namespace std;

int main(){

    int p, i, x, count;

    count = 0; p = 0;

    for(i=0; i < 4; i = i + 1){

        cin >> x;

        if(x % 10 == 0){

            count = count + 1;

            p = x;

        }

    }

    if(p > 0)

        cout << count << endl << p;

    else

        cout << "NO";

    return 0;

}

 

 

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

1. Напишите, что выведет эта программа при вводе 13, 20, 37, 40.

2. Приведите пример входных данных, при вводе которых программа выведет верный ответ. Среди вводимых чисел должно быть хотя бы одно, удовлетворяющее условию отбора. Укажите этот ответ.

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

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

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


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

25
Задание 25 № 10399

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

Например, в массиве из 6 элементов, равных соответственно 2, 3, 1, 5, 6, 4, максимальный элемент чётный (6), значит, ответом будет сумма чётных элементов этого массива 2 + 6 + 4 = 12.

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

 

БейсикPython

CONST N=2016

DIM A(N) AS INTEGER

DIM I, M, S, P AS INTEGER

FOR I = 1 TO N

  INPUT A(I)

NEXT I

END

# допускается также использо-

# вание целочисленной

# переменной m, s, p

a = []

N = 2016

for i in range(0, N):

  a.append(int(input()))

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

const

  N=2016;

var

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

  i, m, s, p: integer;

begin

  for i:=1 to N do

    readln(a[i]);

  …

end.

алг

нач

  цел N=2016

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

  цел i, m, s, p

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

    ввод a[i]

  кц

кон

Си++

#include <iostream>

using namespace std;

#define N 2016

int main(){

  int a[N];

  int i, m, s, p;

  for (i=0; i    cin >> a[i];

  …

  return 0;

}

 

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


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

26
Задание 26 № 11331

Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу 1 камень или удвоить количество камней в куче. Например, имея кучу из 7 камней, за один ход можно получить кучу из 8 или 14 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 22. Победителем считается игрок, сделавший последний ход, если в куче осталось не менее 22 камней, но не больше 34 камней. Если же после завершающего хода игрока в куче оказывается больше 34 камней, то игрок, сделавший последний ход — проигрывает.

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

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

 

1) а) При каких значениях Паша выиграет 1 ходом. б) Кто выиграет при S=20, 19, 18.

2) Кто выиграет при S=10, 9.

3) Кто выиграет при S=8. Нарисуйте дерево партий.


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

27
Задание 27 № 11363

Вам предлагается два задания с похожими условиями: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Задание Б более сложное, его решение оценивается выше. Итоговая оценка выставляется как максимальная из оценок за задания А и Б.

 

Задание А. Имеется набор данных, состоящий из 6 пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.

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

Максимальная оценка за правильную программу – 2 балла.

 

Задание Б. Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.

Напишите программу для решения этой задачи.

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

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

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

Максимальная оценка за правильную программу, эффективную по времени и памяти, — 4 балла.

Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, — 3 балла.

 

Как в варианте А, так и в варианте Б программа должна напечатать одно число — максимально возможную сумму, соответствующую условиям задачи (или 0, если такую сумму получить нельзя).

 

НАПОМИНАЕМ! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.

 

Перед текстом программы кратко опишите Ваш алгоритм решения, укажите использованный язык программирования и его версию (например, Free Pascal 2.6.4).

 

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

Для варианта А на вход программе подаётся шесть строк, каждая из которых содержит два натуральных числа, не превышающих 10 000.

Пример входных данных для варианта А:

1 3

5 12

6 9

5 4

3 3

1 1

 

Для варианта Б на вход программе в первой строке подаётся количество пар N (1 ≤ N ≤ 100 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

Пример входных данных для варианта Б:

6

1 3

5 12

6 9

5 4

3 3

1 1

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


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