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

Вариант 9 :: Информатика

Часть 1

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

Скачать pdf
  1.    Сколько значащих нулей в двоичной записи шестнадцатеричного числа 100116?

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

     

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

     

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

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

     

      П1 П2 П3 П4 П5 П6 П7 П8
    П1   10 15          
    П2 10   15   5      
    П3 15 15     30      
    П4         20 10 10  
    П5   5 30 20     15  
    П6       10     20 15
    П7       10 15 20   10
    П8           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. По каналу связи передаются шифрованные сообщения, содержащие только десять букв: А, Б, В, Г, Д, Ж, З, Е, И, Л. Для передачи используется неравномерный двоичный код. Для восьми букв используются кодовые слова.

    Буква Кодовое слово Буква Кодовое слово
    А   В 000
    Б 001 Г 111
    Е 010 Д 1010
    И 1000 Ж 1011
    Л 1001 З  

     

    Укажите кратчайшее кодовое слово для буквы З, при котором код будет удовлетворять условию Фано. Если таких кодов несколько, укажите код с наименьшим числовым значением.
    Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

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

    число по следующим правилам.

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

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

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

  7.    Дан фрагмент электронной таблицы. Из ячейки B3 в ячейку A2 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Запишите в ответе числовое значение формулы  в ячейке A2. 

      A B C D E
    1 40 4 400 80 7
    2   3 300 70 6
    3 20 =C$2+D$3  200 60 5
    4 10 1 100 50 4

     

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

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

    Паскаль С++
     var n,s: integer;
     begin 
      s:=0; 
      n:=4; 
     while s <= 163 do
     begin
      s:=s + 20; 
      n:=n*2; 
     end;
     write(n)
     end.

    #include <iostream>

    using namespace std;

     

    int main() {

     int n, s;  

       s=0;

       n=4;

     while (s <= 163 ) {

      s=s + 20; 

      n=n*2; }  

    cout << n << endl;

    return 0;

    }

  9.    Музыкальный фрагмент был оцифрован и записан в виде файла без использования сжатия данных. Получившийся файл был передан в город А по каналу связи за 60 секунд. Затем тот же музыкальный фрагмент был оцифрован повторно с разрешением в 3 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Полученный файл был передан в город Б; пропускная способность канала связи с городом Б в 2 раза выше, чем канала связи с городом А. Сколько секунд длилась передача файла в город Б? 

  10.    Александр составляет 3-буквенные слова, в которых есть только буквы А, Б, В, Г, Д, Ы, причём буква А используется в каждом слове хотя бы 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Александр?

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

    Паскаль  С++

     procedure F(n: integer);
     begin
       writeln('#');
       if n < 6 then begin
            F(n+3); 
            writeln('#');
            F(n+2); 
      end
     end;

     void F(int n)                
     {
      std::cout <<"#";
      if (n < 6) {
           F(n+3);
           std::cout <<"#";
           F(n+2); 
      }
     }

     Сколько символов «решётка» будет напечатано на экране при выполнении вызова F(1)?

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

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

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

    НА ЧАЛО

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

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

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

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

    КОНЕЦ ЕСЛИ 

    КОНЕЦ ПОКА

    КОНЕЦ

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

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

  16.    Значение арифметического выражения: 911 + 321 – 513 записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи?

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

     

    Запрос Количество страниц (тыс.)
    аист & воробей 250
    воробей & ласточка 220
    воробей & (аист | ласточка) 400

     

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

  18. На числовой прямой даны два отрезка: Р = [11, 21] и Q = [15, 40]. Укажите наибольшую возможную длину промежутка А, для которого формула

    (х ∈ А) → ¬((х ∈ Р) ~ (х ∈ Q))

    тождественно истинна, то есть принимает значение 1 при любом значении переменной х.

  19.   В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:

       В начале выполнения этого фрагмента в массиве находились числа 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, т. е. A[0] = 10, A[1] = 9 и т. д. 

     

    Паскаль  С++

    n := 10;

    for i:=0 to n do begin

      K := A[i];

      A[K] := 0;

    end;

    n = 11;

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

      K = A[i];

      A[K] = 0;

    }

       Сколько элементов массива после выполнения программы будут иметь ненулевые значения?

  20.   Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите кол-во чисел x, при вводе которых алгоритм печатает сначала 3, а потом 4.

    Бейсик Python

    DIM X, L, M AS INTEGER

    INPUT X

    L = 0

    M = 0

    WHILE X > 0

        M = M + 1

          L = L + X MOD 3

         END IF

    X = X \ 3

    WEND

    PRINT L

    PRINT M

    x = int(input())

    L = 0

    M = 0

    while x > 0:

         M = M + 1

          L = L + x % 3

         x = x // 3

    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 3;

              x := x div 3;

        end;

        writeln(L)

        writeln(M)

    end.

    алг

    нач

         цел x, L, M

         ввод x

         L := 0

         M := 0

        нц пока x > 0

            M := M + 1

             L := L + mod(x,3)

             x := div(x,3)

         кц

         вывод 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 % 3;

              x = x / 3;

            }

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

            return 0;}

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

     

    Бейсик Python
    DIM A, B, T, M, R AS LONG
    A = -2: B = 15
    M = 10
    FOR T = A TO B
        IF F(T) > 0 THEN
             M = M - 2
        END IF
    NEXT t
    PRINT M + 30
     
    FUNCTION F (x)
         F = x*x + 16*x + 15
    END FUNCTION
    def f(x):
         return x*x + 16*x + 15
    a = -2; b=15
    M=10
    for t in range(a,b+1):
     
        if (F(t) > 0):
             M=M - 2
    print (M + 30)
    Паскаль Алгоритмический язык
    var a, b, t, M, R :longint;
    function F(x: longint) : longint;
        begin
             F:= x*x + 16*x + 15;
        end;
    begin
         a:=-2; b:=15;
         M:=10;
         for t:= a to b do begin
             if (F(t) > 0) then begin
                 M:=M - 2;
          end
        end;
         write(M + 30
    end.
    алг
    нач
        цел a, b, t, M, R
        a:=-2; b:=15
        M:=10
        нц для t от a до b
             если F(t) > 0 то
                то
                     M:=M - 2; 
            все
        кц
        вывод M + 30
    кон
    алг цел F(цел x)
    нач
        знач :=x*x + 16*x + 15
    кон
    С++

    #include <iostream>
    using namespace std;


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

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

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

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

    (y1 ∧ y2) → (¬y3 ∨ ¬y4) = 1

    (y3 ∧ y4) → (¬y5 ∨ ¬y6) = 1

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

Часть 2

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

  1.     На обработку поступает натуральные числа меньше 1000, пока пользователь не введет 0. Нужно написать программу, которая выводит на экран кол-во чисел кратных 5 и не кратных 8. Если нет двузначных чисел, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Напоминание: 0 делится на любое натуральное число.

     

    Бейсик Python

    DIM A, KOL
    INPUT A
    KOL= 0
    WHILE A > 0

        INPUT A
        IF  A MOD 5=0 and A MOD 8=0 THEN

               KOL= KOL+ 1
        END IF
    WEND
    IF KOL= 0 THEN
        PRINT "NO"
    ELSE
        PRINT KOL
    END IF

    A = int(input())
    kol= 0
    while a > 0:

        A = int(input())
        if a%5 ==0  and a%8 ==0:
                kol= kol+ 1
    if kol== 0:
        print("NO")
    else:
        print(kol))

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

    var a, kol: longint;
    begin
        readln(a);
        kol:= 0;
        while a > 0 do
        begin

            readln(a);
            if a mod 5=0 and a mod 8=0 then
                    kol:= kol+ 1;
        end;
        if kol= 0 then
            writeln('NO')
        else
            writeln(kol)
    end.

    алг
    нач
        цел a, kol
        ввод a
        kol:= 0
        нц пока a > 0

           ввод a
            если mod(digit, 5)=0 и mod(digit, 8)=0  то
                    kol:= kol+ 1
                все
            все
        кц
        если kol= 0 то
            вывод "NO"
        иначе
            вывод kol
        все
    кон

    С++

    #include <iostream>
    using namespace std;
    int main() {
            long  a, kol;
            cin >> a;
            kol= 0;
            while (a > 0) {

                cin >> a;
                if (a%5 ==0  && a%8 ==0)
                    kol= kol+ 1;
                }
            if (kol== 0)
                cout << "NO" << endl;
            else
                cout << kol<< endl;
            return 0;}

     

     

       Последовательно выполните следующее.
    1. Напишите, что выведет эта программа при вводе числа 2 55 70 89 34 40 0.
    2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
    3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
    1) выпишите строку, в которой сделана ошибка;
    2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
       Достаточно указать ошибки и способ их исправления для одного языка программирования.
      Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

  2.     Дан массив, состоящий из 100 натуральных чисел. Допишите на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния программу, позволяющую найти и вывести количество элементов массива равных максимальному элементу массива. 
        На­при­мер, для мас­си­ва из 6 эле­мен­тов: 100 303 22 303 57 303 – ответ: 3.
       Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

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

    CONST N = 100

    DIM A (1 TO N) AS INTEGER

    DIM I, MAX, K, AS INTEGER

     

    FOR I = 1 TO N

        INPUT A(I)

    NEXT I

    ...

    END

    const

        N = 100;

    var

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

        i, max, k: integer;

    begin

        for i := 1 to N do

            readln(a[i]);

        ...

    end.

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

    #include <iostream>

    using namespace std;

     

    const int N=100;

    int main() {

        int a[N];

        int i, max, k;

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

           cin >>a[i];

        ...

        return 0;

    }

    алг

    нач

        цел N = 100

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

        цел i, max, k

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

            ввод a[i]

        кц

        ...

    кон

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

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

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

      Будем го­во­рить, что игрок имеет вы­иг­рыш­ную стра­те­гию, если он может вы­иг­рать при любых ходах про­тив­ни­ка. Опи­сать стра­те­гию иг­ро­ка – зна­чит опи­сать, какой ход он дол­жен сде­лать в любой си­ту­а­ции, ко­то­рая ему может встре­тить­ся при раз­лич­ной игре про­тив­ни­ка. На­при­мер, при на­чаль­ных по­зи­ци­ях (6, 34), (7, 33), (9, 32) вы­иг­рыш­ная стра­те­гия есть у Пети. Чтобы вы­иг­рать, ему до­ста­точ­но удво­ить ко­ли­че­ство кам­ней во вто­рой куче.

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

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

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

  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 

Завершить вариант
Вариант 9
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

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

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

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

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

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

Регистрация

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

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

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