Вход   →
Осталось
4 часа
Вариант 4

Часть 1

Ответами к заданиям 1–23 являются число, последовательность букв или цифр, которые следует записать в БЛАНК ОТВЕТОВ № 1 справа от номера соответствующего задания, начиная с первой клеточки, без пробелов, запятых и других дополнительных символов. Каждый символ пишите в отдельной клеточке в соответствии с приведёнными в бланке образцами. 

Скачать pdf
  1.    Решить пример: BBC416 — 2078 — 11001111002.
       Ответ запишите ответ в восьмеричной системе?

    Ответ
  2.   Логическая функция F задаётся выражением (\lnot C \land B \land A) \lor (A \land \lnot B \land C). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных A, B, C.

     

    ? ? ? F
    0 0 0 0
    0 0 1 0
    0 1 0 0
    0 1 1 0
    1 0 0 0
    1 0 1 1
    1 1 0 1
    1 1 1 0

     

       В ответе напишите буквы A, B, C в том порядке, в котором идут соответствующие им столбцы.

    Ответ
  3.    На рисунке справа схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова длина кратчайшей дороги из пункта А в пункт Е. В ответе запишите целое число – так, как оно указано в таблице.

     

      П1 П2 П3 П4 П5 П6 П7
    П1   10 15 25      
    П2 10     10 15    
    П3 15     15      
    П4 25 10 15   25 15 15
    П5   15   25   20  
    П6       15 20   10
    П7       15   10  

     

    Информатика_Задание 3

     

    Ответ
  4.    В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведенных данных определите, Определите на основании приведённых данных идентификатор (ID) бабушки Николаев Д.Е.

     

    Таблица 1
    ID Фамилия_И.О. Пол
    3056 Петрова А.А. ж
    3057 Иванов М.А. м
    3058 Иванова Д.А. ж
    3059 Иванов А.К. м
    3060 Иванова Р.М. ж
    3061 Петрова М.А. ж
    3062 Иванов Д.М. м
    3063 Петров С.А. м
    3064 Иванов М.М. м
    3065 Петров П.Я. м
    3066 Смирнов П.С. м
    3067 Попова Е.Я. ж
    3068 Смирнова М.П. ж
    3069 Андреева А.Д. ж
    3070 Андреева М.Д. ж
    3071 Андреева С.Д. ж
    3072 Лебедев С.А. м
    3073 Семенова Д.Е. ж
    3074 Семёнов Я.Е. м
    3075 Николаев Д.Е. м
     
    Таблица 2
    ID_Родителя ID_Ребенка
    3059 3056
    3059 3057
    3059 3058
    3056 3061
    3056 3063
    3060 3056
    3060 3057
    3060 3058
    3057 3062
    3057 3064
    3065 3061
    3065 3063
    3066 3068
    3067 3068
    3068 3069
    3068 3070
    3068 3071
    3069 3072
    3070 3073
    3070 3074
    3071 3075
    Ответ
  5.   В сообщении встречается 5 разных  букв. При его передаче использован неравномерный двоичный код, допускающий однозначное декодирование. Известны коды двух букв: 10, 111. Коды остальных трёх букв имеют одинаковую длину. Какова минимальная суммарная длина всех 5-ти кодовых слов? 

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

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

    Пример. Исходное число: 4782. Суммы: 4 + 7 = 11; 8 + 2 = 10. Результат: 1110.

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

    Ответ
  7.    В ячейки диапазонов C2:F6 и B3:B6 электронной таблицы записаны числа, как показано на рисунке. В ячейке F1 записали формулу =F$4 + $B5. После этого ячейку F1 скопировали в ячейку D1. Какое число будет показано в ячейке D1?

      А В С D Е F
    1            
    2     1 2 3 4
    3   1 2 3 4
    4   2 4 6 8
    5   3 3 6 9 12
    6   4 4 8 12 16

     

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

    Ответ
  8.    При каком наибольшем введенном числе x после выполнения программы будет напечатано 15? 

    Паскаль С++

     var n, s,x: integer;
     begin 

    read(x);
      s:=2; 
      n:=3; 
     while s<=1200 do
     begin
     s:=s*x; 
     n:=n+4; 
     end;
     write(n)
     end.

    #include <iostream>

    using namespace std;

     

    int main() {

      int n, s,x;  

       cin>>x;
       s=2;
       n=3;
     while (s<=1200 ) {
      s=s*x+1; 
      n=n+4; }  

    cout << n << endl;

    return 0;

    }

     

    Ответ
  9.    Какой минимальный объём памяти (в Кбайт) нужно зарезервировать, чтобы можно было сохранить любое растровое изображение размером 512 на 128 пикселов при условии, что в изображении могут использоваться 512 различных цветов? В ответе запишите только целое число, единицу измерения писать не нужно. 

    Ответ
  10.    Все 5-буквенные слова, составленные из букв С, Т, У, Л, записаны в алфавитном порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
    1. ССССС
    2. CCСCТ
    3. CCCСУ
    4. CCCСЛ
    5. CCСТС
          …
    Под каким номером в списке идёт первое слово, которое начинается с буквы У и оканчивается на букву Т?

    Ответ
  11.    Ниже на 2 языках программирования записан рекурсивный алгоритм F:

    Паскаль  С++
     procedure F(n: integer);
     begin
       writeln(n);
       if n < 5 then begin
             F(n+3); 
             F(n*2);
             F(n+1);
      end
       writeln(n);
       end;
     

     void F(int n)                
     {
      std::cout << n;  

        if (n < 5) {
         F(n+3);
         F(n*2);
         F(n+1);
      }
        std::cout << n;
         }
     

    Найдите сумму чисел, которые будут выведены при вызове F(1).

    Ответ
  12.   Для узла с IP-адресом 245.206.255.27 адрес сети равен 245.206.252.0. Каково наименьшее возможное количество единиц в разрядах маски?

    Ответ
  13.   При регистрации на сайте каждому пользователю выдаётся идентификатор состоящий из 10 символов и пароль состоящий из 17 символов. В качестве символов используют прописные и строчные буквы латинского алфавита, т. е. 26 различных символов и десятичные цифры. В базе данных для хранения каждого идентификатора и пароля отведено одинаковое и минимально возможное целое число байт. При этом, все символы кодируют одинаковым и минимально возможным количеством бит. Определите объём памяти (в байтах), необходимый для хранения данных о 34 пользователях. В ответе запишите только целое число — количество байт.

    Ответ
  14. Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 77 идущих подряд цифр 8? В ответе запишите полученную строку.

    НА ЧАЛО

    ПОКА нашлось (333) ИЛИ нашлось (8888)

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

    ТО заменить (333, 88) 

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

    КОНЕЦ ЕСЛИ 

    КОНЕЦ ПОКА

    КОНЕЦ

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

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

    Ответ
  16.    Сколько значащих нулей в двоичной записи числа 32820 – 2356 + 53?

    Ответ
  17.    В таблице приведены запросы и количество страниц, которые нашел поисковый сервер по этим запросам в некотором сегменте Интернета:

     

    Запрос Количество страниц (тыс.)
    Собака 1450
    Кошка 400
    Хомяк 300
    Собака & Кошка 60
    Собака & Хомяк 60
    Кошка & Хомяк 0

     

       Сколько страниц (в тысячах) будет найдено по запросу Собака | Кошка | Хомяк ?

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

    (ДЕЛ(x, А) Λ ДЕЛ(x, 12)) → (ДЕЛ(x, 42) V ¬ДЕЛ(x, 12))

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

    Ответ
  19.   В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3, 5, 7, 4, 8, 7, 5, 4, 10, 6 соответственно, т.е. A[0] = 3, A[1] = 5 и т.д. Определите значение пятого элемента массива после выполнения следующего фрагмента этой программы:

     

    Паскаль  С++ 
    for i := 0 to 8 do
      A[i] := A[i+1] * 2;
    for (i=0;i<9;i++)
      A[i] = A[i+1] * 2;
    Ответ
  20.   Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 4, а потом 10.

    Бейсик Python

    DIM X, L, M AS INTEGER

    INPUT X

    L = 0

    M = 0

    WHILE X > 0

        M = M + 1

          L = L + X MOD 2

         END IF

    X = X \ 2

    WEND

    PRINT L

    PRINT M

    x = int(input())

    L = 0

    M = 0

    while x > 0:

         M = M + 1

          L = L + x % 2

         x = x // 2

    print(L)

    print(M)

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

    var x, L, M: integer;

    begin

         readln(x);

         L := 0;

         M := 0;

         while x>0 do

        begin

              M := M + 1;

                L := L + x mod 2;

              x := x div 2;

        end;

        writeln(L)

        writeln(M)

    end.

    алг

    нач

         цел x, L, M

         ввод x

         L := 0

         M := 0

        нц пока x > 0

            M := M + 1

             L := L + mod(x,2)

             x := div(x,2)

         кц

         вывод L, нс, M

    кон

    С++

    #include <iostream>

    using namespace std;

     

    int main(){

         int x, L, M;

         cin >> x;

         L = 0;

         M = 0;

         while (x > 0) {

              M = M + 1;

              L = L + x % 2;

              x = x / 2;

            }

            cout << L << endl << M << endl;

            return 0;}

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

     

    Бейсик Python
    DIM A, B, T, M, R AS LONG
    A = -10: B = 10
    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 + 15*x + 13
    END FUNCTION
    def f(x):
         return 2*x*x + 15*x + 13
    a = -10; b=10
    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 :longint;
    function F(x: longint) : longint;
        begin
             F:= 2*x*x + 15*x + 13;
        end;
    begin
         a:=-10; b:=10;
         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:=-10; b:=10
        M:=a; R:=F(a)
        нц для t от a до b
             если F(t) <= R то
                то
                     M:=t; R:=F(t)
            все
        кц
        вывод M-R
    кон
    алг цел F(цел x)
    нач
        знач :=2*x*x + 15*x + 13
    кон
    С++

    #include <iostream>
    using namespace std;


    long F(long x) {
         return 2*x*x + 15*x + 13;
    }
    int main() {
         long a = -10, b = 10, M = a, R = F(a);
         for (int t = a; t <= b; ++t) {
             if (F(t)<= R) {
                M = t; R = F(t);
            }
        }
         cout << M - R;
        return 0;}

    Ответ
  22.    Исполнитель BS18 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
       1. Прибавить 1
       2. Умножить на 3
       3. Умножить на 2

      Первая из них увеличивает число на экране на 1, вторая умножает на 3, третья умножает на 2. Программа для исполнителя BS18 – это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число 3 в число 23 и при этом траектория вычислений программы не содержит число 8 и содержит число 9? 
      Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. 

    Ответ
  23.    Сколько различных решений имеет система уравнений

    (x1 v x2) → (¬x3  ¬x4) = 1
    (x3 v x4) → (¬x5  ¬x6) = 1
    (x5 v x6) → (¬x7  ¬x8) = 1

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

    Ответ

Часть 2

Для записи ответов на задания этой части (24–27) используйте БЛАНК ОТВЕТОВ № 2. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво. 

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

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

    DIM N, DIGIT, SUM AS LONG

    INPUT N

    SUM = 0

    WHILE N > 0

        DIGIT = N MOD 10

        IF DIGIT < 5 THEN

            SUM = SUM * digit

        END IF

        N = N \ 10

    WEND

    PRINT DIGIT

    var N, digit, sum: longint;

    begin

        readln(N);

        sum := 0;

        while N > 0 do

        begin

            digit := N mod 10;

            if digit < 5 then

                sum := sum * digit;

            N := N div 10;

        end;

        writeln(digit)

    end.

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

    #include <iostream>

    using namespace std;

    int main()

    {

        int N, digit, sum;

       cin >> N;

        sum = 0;

        while (N > 0)

        {

            digit = N % 10;

            if (digit < 5)

                sum = sum * digit;

            N = N / 10;

        }

        cout << digit;

        return 0;}

    алг

    нач

        цел N, digit, sum

        ввод N

        sum := 0

        нц пока N > 0

            digit := mod(N,10)

            если digit < 5 то

                sum := sum * digit

            все

            N := div(N,10)

        кц

        вывод digit

    кон

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

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

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

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

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

    Ответ
  2.     Дан мас­сив состоящий из 40 целых чисел. Напишите на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, поз­во­ля­ю­щий найти и вы­ве­сти ко­ли­че­ство пар эле­мен­тов мас­си­ва, в ко­то­рых де­ся­тич­ная за­пись хотя бы од­но­го числа окан­чи­ва­ет­ся на 2. В дан­ной за­да­че под парой под­ра­зу­ме­ва­ет­ся два под­ряд иду­щих эле­мен­та мас­си­ва.
        На­при­мер, для мас­си­ва из пяти эле­мен­тов: 16 3 142 55 22 – ответ: 3.
       Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

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

    CONST N = 40

    DIM A (1 TO N) AS INTEGER

    DIM I, J, K, AS INTEGER

     

    FOR I = 1 TO N

        INPUT A(I)

    NEXT I

    ...

    END

    const

        N = 40;

    var

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

        i, j, k: integer;

    begin

        for i := 1 to N do

            readln(a[i]);

        ...

    end.

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

    #include <iostream>

    using namespace std;

    const int N=40;

    int main() {

        int a[N];

        int i, j, k;

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

            cin >> a[i];

        ...

        return 0;

    }

    алг

    нач

        цел N = 40

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

        цел i, j, k

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

            ввод a[i]

        кц

        ...

     

    кон

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

    Ответ
  3.   Два иг­ро­ка, Петя и Ваня, иг­ра­ют в сле­ду­ю­щую игру. Перед иг­ро­ка­ми лежит куча кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вый ход де­ла­ет Петя. За один ход игрок может до­ба­вить в кучу один или три камня или уве­ли­чить ко­ли­че­ство кам­ней в куче в два раза. На­при­мер, имея кучу из 15 кам­ней, за один ход можно по­лу­чить кучу из 16, 18 или 30 кам­ней. У каж­до­го иг­ро­ка, чтобы де­лать ходы, есть не­огра­ни­чен­ное ко­ли­че­ство кам­ней. Игра за­вер­ша­ет­ся в тот мо­мент, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не менее 35. По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, т.е. пер­вым по­лу­чив­ший кучу, в ко­то­рой будет 35 или боль­ше кам­ней. В на­чаль­ный мо­мент в куче было S кам­ней; 1 ≤ S ≤ 34. Будем го­во­рить, что игрок имеет вы­иг­рыш­ную стра­те­гию, если он может вы­иг­рать при любых ходах про­тив­ни­ка. Опи­сать стра­те­гию иг­ро­ка — зна­чит опи­сать, какой ход он дол­жен сде­лать в любой си­ту­а­ции, ко­то­рая ему может встре­тить­ся при раз­лич­ной игре про­тив­ни­ка.
    Вы­пол­ни­те сле­ду­ю­щие за­да­ния. Во всех слу­ча­ях обос­но­вы­вай­те свой ответ.
    За­да­ние 1
       а) Ука­жи­те все такие зна­че­ния числа S, при ко­то­рых Петя может вы­иг­рать в один ход. Обос­нуй­те, что най­де­ны все нуж­ные зна­че­ния S, и ука­жи­те вы­иг­ры­ва­ю­щие ходы.
       б) Ука­жи­те такое зна­че­ние S, при ко­то­ром Петя не может вы­иг­рать за один ход, но при любом ходе Пети Ваня может вы­иг­рать своим пер­вым ходом. Опи­ши­те вы­иг­рыш­ную стра­те­гию Вани.
    За­да­ние 2
    Ука­жи­те два таких зна­че­ния S, при ко­то­рых у Пети есть вы­иг­рыш­ная стра­те­гия, причём од­но­вре­мен­но вы­пол­ня­ют­ся два усло­вия:
      − Петя не может вы­иг­рать за один ход;
      − может вы­иг­рать своим вто­рым ходом не­за­ви­си­мо от того, как будет хо­дить Ваня.
    Для каж­до­го ука­зан­но­го зна­че­ния S опи­ши­те вы­иг­рыш­ную стра­те­гию Пети.
    За­да­ние 3
    Ука­жи­те зна­че­ние S, при ко­то­ром од­но­вре­мен­но вы­пол­ня­ют­ся два усло­вия:
      − у Вани есть вы­иг­рыш­ная стра­те­гия, поз­во­ля­ю­щая ему вы­иг­рать пер­вым или вто­рым ходом при любой игре Пети;
      − у Вани нет стра­те­гии, ко­то­рая поз­во­лит ему га­ран­ти­ро­ван­но вы­иг­рать пер­вым ходом.
    Для ука­зан­но­го зна­че­ния S опи­ши­те вы­иг­рыш­ную стра­те­гию Вани.
      По­строй­те де­ре­во всех пар­тий, воз­мож­ных при этой вы­иг­рыш­ной стра­те­гии Вани (в виде ри­сун­ка или таб­ли­цы). На ри­сун­ке на рёбрах де­ре­ва ука­зы­вай­те, кто де­ла­ет ход; в узлах — ко­ли­че­ство кам­ней в по­зи­ции.

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

    За­да­ние А. Име­ет­ся набор дан­ных, со­сто­я­щий из 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 

    Ответ
Завершить вариант
Вариант 4
240 минут
на вариант из 27 вопросов
Вернуться назад
Осталось
4 часа 0 минут

Часть 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Часть 2

24
25
26
27

Еще нет аккаунта?

Пользователям Бингоскул доступна бесплатная подготовка к ЕГЭ по всем видам ФИПИ, просмотр решений и отслеживание статистики
Регистрация

Уже зарегистрированы?

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

Вход в систему

Регистрация

Регистрируясь, я подтверждаю своё согласие с условиями пользовательского соглашения

Активация аккаунта

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