СДАМ ГИА






Вариант № 2851251

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


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



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

Дано: а = 7010, b = 1008 Какое из чисел с, записанных в двоичной системе, отвечает условию b < с < a?

 

1) 10000002

2) 10001102

3) 10001012

4) 10001112


Ответ:

2
Задание 2 № 923

Символом F обозначено одно из указанных ниже логи­ческих выражений от трёх аргументов: X, Y, Z.

Дан фрагмент таблицы истинности выражения F:

 

X Y Z F
0
1
1
1
0
1
0
1
0
0
1
1

 

Какое выражение соответствует F?

 

1) ¬X ∧ Y ∧ Z

2) X ∨ ¬Y ∨ Z

3) ¬X ∨ Y ∨ ¬Z

4) ¬X ∧ Y ∧ ¬Z


Ответ:

3
Задание 3 № 1022

Между четырьмя местными аэропортами: ВОСТОК, ИВОЛГИНО, НИКОЛАЕВО и СОСНОВКА, ежедневно выполняются авиарейсы. Приведён фрагмент расписания перелётов между ними:

 

Аэропорт вылетаАэропорт прилетаВремя вылетаВремя прилета
СосновкаВосток09:0010:45
ВостокИволгино10:2011:05
ВостокНиколаево10:4011:25
ИволгиноВосток11:0011:50
НиколаевоВосток11:3012:15
СосновкаНиколаево11:5512:35
ВостокСосновка12:0013:50
ИволгиноСосновка12:0012:50
СосновкаИволгино12:1513:05
НиколаевоСосновка12:3013:35

 

Путешественник оказался в аэропорту ВОСТОК в полночь. Определите самое раннее время, когда он может попасть в аэропорт СОСНОВКА. Считается, что путешественник успевает совершить пересадку в аэропорту, если между временем прилета в этот аэропорт и временем вылета проходит не менее часа.

 

1) 10:45

2) 12:50

3) 13:35

4) 13:50


Ответ:

4
Задание 4 № 14219

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

 

Таблица 1
IDФа­ми­лия_И.О.Пол
866Кравец Д.К.Ж
867Тошич Б.Ф.М
879Гонтарь В.А.Ж
885Крон К.Г.М
900Кислюк Л.А.Ж
904Петраш А.И.М
911Тошич А.Б.Ж
932Петраш П.А.Ж
938Тошич И.Б.М
949Седых Г.Р.Ж
970Кислюк А.П.М
995Тошич Т.И.Ж
1017Тошич П.И.М
1026Мухина Р.Г.Ж
1041Сайко М.А.Ж
1056Кислюк П.А.М
.........

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


Ответ:

5
Задание 5 № 4580

Для ко­ди­ро­ва­ния некоторой последовательности, со­сто­я­щей из букв А, Б, В, Г и Д, ре­ши­ли использовать не­рав­но­мер­ный двоичный код, поз­во­ля­ю­щий однозначно де­ко­ди­ро­вать двоичную последовательность, по­яв­ля­ю­щу­ю­ся на приёмной сто­ро­не канала связи. Для букв А, Б, В и Г ис­поль­зо­ва­ли такие ко­до­вые слова: А–111, Б–110, В–100, Г–101.

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

 

1) 0

2) 01

3) 00

4) 000


Ответ:

6
Задание 6 № 3405

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

 

1. Прибавь 5

2. Умножь на 3

 

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

команду номер 2, умножает число на экране на 3. Напишите программу, содержащую не

более 5 команд, которая из числа 3 получает число 59.


Ответ:

7
Задание 7 № 5574

Коле нужно с помощью электронных таблиц построить таблицу значений формулы для значений и от 5 до 8.

 

Для этого сначала в диапазонах В1:Е1 и А2:А5 он записал числа от 5 до 8. Затем в ячейку В5 записал формулу (А5 — значение ; В1 — значение ), после чего скопировал её во все ячейки диапазона В2:Е5. В итоге на экране получился фрагмент таблицы (см. рисунок).

 

ABCDE
15678
2525283134
3627303336
4729323538
5831343740

 

Какая формула была записана в ячейке В5?

 

1) =А$5*2+$В1*3

2) =$А5*2+В$1*3

3) =$А5*2+$В1*3

4) =А5*2+В1*3


Ответ:

8
Задание 8 № 3775

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

 

var n, s: integer;

begin

    n := 3;

    s := 0;

    while n <= 26 do

    begin

        s := s + 6;

        n := n + 1

    end;

    write(s)

end.


Ответ:

9
Задание 9 № 3808

Текстовый документ, со­сто­я­щий из 5120 символов, хра­нил­ся в 8-битной ко­ди­ров­ке КОИ-8. Этот до­ку­мент был пре­об­ра­зо­ван в 16-битную ко­ди­ров­ку Unicode. Укажите, какое до­пол­ни­тель­ное количество Кбайт по­тре­бу­ет­ся для хра­не­ния документа. В от­ве­те запишите толь­ко число.


Ответ:

10
Задание 10 № 3694

Все 5-буквенные слова, составленные из букв А, О, У, записаны в обратном алфавитном порядке. Вот начало списка:

1. УУУУУ

2. УУУУО

3. УУУУА

4. УУУОУ

……

Запишите слово, которое стоит на 240-м месте от начала списка.


Ответ:

11
Задание 11 № 11267

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

 

БейсикPython

FUNCTION F(n)

  IF n > 2 THEN

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

  ELSE

    F = n

  END IF

END FUNCTION

FUNCTION G(n)

  IF n > 2 THEN

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

  ELSE

    G = 3-n

  END IF

END FUNCTION

def F(n):

    if n > 2:

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

    else: return n

def G(n):

    if n > 2:

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

    else: return 3-n

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

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

нач

  если n > 2

    то

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

    иначе

      знач := n

    все

кон

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

нач

  если n > 2

    то

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

    иначе

      знач := 3-n

  все

кон

function F(n: integer): integer;

begin

  if n > 2 then

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

  else

    F := n;

end;

function G(n: integer): integer;

begin

  if n > 2 then

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

  else

    G := 3-n;

end;

Си

int F(int n){

if (n > 2)

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

else return n;

}

int G(int n){

if (n > 2)

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

else return 3-n;

}

 

 

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


Ответ:

12
Задание 12 № 5283

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

 

По заданным IP-адресу узла и маске определите адрес сети.

 

IP-адрес узла: 224.34.225.134

Маска: 255.255.252.0

 

При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без использования точек.

 

 

ABCDEFGH
2552542442241343480

 

Пример. Пусть искомый 1Р-адрес 192.168.128.0, и дана таблица

 

ABCDEFGH
1281682558127017192

 

В этом случае правильный ответ будет записан в виде HBAF.


Ответ:

13
Задание 13 № 1909

В некоторой стране проживает 200 человек. Индивидуальные но­мера страховых медицинских свидетельств жителей в этой стране содержат только цифры 2, 4, 6, 8 и содержат одинаковое количест­во цифр. Каково минимальное количество разрядов в номерах этих свидетельств, если медицинскую страховку имеют абсолютно все жители, и номера всех свидетельств различны?


Ответ:

14
Задание 14 № 7603

Исполнитель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плоскости, остав­ляя след в виде линии. Чертёжник может вы­пол­нять ко­ман­ду Сместиться на (a, b) (где a, b — целые числа), пе­ре­ме­ща­ю­щую Чертёжника из точки с координатами (x, у) в точку с ко­ор­ди­на­та­ми (x + а, у + b). Если числа a, b положительные, зна­че­ние со­от­вет­ству­ю­щей ко­ор­ди­на­ты увеличивается; если отрицательные, уменьшается.

 

Например, если Чертёжник на­хо­дит­ся в точке с координатами (4, 2), то ко­ман­да Сме­стить­ся на (2, −3) пе­ре­ме­стит Чертёжника в точку (6, −1).

 

Запись

Повтори k раз

Команда1 Команда2 Ко­ман­даЗ

Конец

означает, что по­сле­до­ва­тель­ность ко­манд Команда1 Команда2 КомандаЗ по­вто­рит­ся k раз.

 

Чертёжнику был дан для ис­пол­не­ния сле­ду­ю­щий алгоритм:

Повтори 3 paз

Команда1 Сме­стить­ся на (3, 3) Сме­стить­ся на (1, −2) Конец

Сместиться на (−6, 9)

 

После вы­пол­не­ния этого ал­го­рит­ма Чертёжник вер­нул­ся в ис­ход­ную точку. Какую ко­ман­ду надо по­ста­вить вме­сто ко­ман­ды Команда1?

 

1) Сместиться на (−6, −12)

2) Сместиться на (2, −10)

3) Сместиться на (2, 4)

4) Сместиться на (−2, −4)


Ответ:

15
Задание 15 № 5092

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


Ответ:

16
Задание 16 № 5090

В некоторой системе счисления записи десятичных чисел 56 и 45 заканчиваются на 1. Определите основание системы счисления.


Ответ:

17
Задание 17 № 3185

В таб­ли­це приведены за­про­сы к по­ис­ко­во­му серверу. Рас­по­ло­жи­те обозначения за­про­сов в по­ряд­ке убывания ко­ли­че­ства найденных стра­ниц. В дан­ной поисковой системе: сим­вол & обо­зна­ча­ет обязательное вхож­де­ние слов в одно пред­ло­же­ние (логическое И); сим­вол | обознача­ет поиск лю­бо­го из за­дан­ных слов (логическое ИЛИ).

1) автобусы

2) (грузовики & легковые)|автобусы

3) (грузовики & лег­ко­вые & мотоциклы) | автобусы

4) гру­зо­ви­ки | лег­ко­вые | мо­то­цик­лы | автобусы


Ответ:

18
Задание 18 № 13364

На числовой прямой даны два отрезка: P = [130; 171] и Q = [150; 185]. Укажите наименьшую возможную длину такого отрезка A, что формула

 

(x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P))

 

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


Ответ:

19
Задание 19 № 5303

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

 

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

n = 10

FOR i = 1 ТО n

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

NEXT i

n := 10;

for i := 1 to n do begin

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

end;

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

n = 10;

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

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

n : = 10

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

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

кц

 

Перед началом выполнения фрагмента элементы массива имеют значения соответственно

 

1, 2, 4, 8, 16, 32, 64, 128, 256, 512, т.е. A[k] = 2k-1, k = 1, ..., 10.

 

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

 

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

2) 8

3) 32

4) 128


Ответ:

20
Задание 20 № 9204

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

Бейсик Python

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 1

WHILE X > 0

    A = A+1

    B = B*(X MOD 1000)

    X = X\1000

WEND

PRINT A

PRINT B

x = int(input())

a, b = 0, 1

while x > 0:

    a = a+1

    b = b*x%1000

    x = x//1000

print(a)

print(b)

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

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 1

    нц пока x > 0

        a := a+1

        b := b*mod(x, 1000)

        x := div(x, 1000)

    кц

    вывод a, нс, b

кон

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 1;

    while x > 0 do

    begin

        a := a+1;

        b := b*(x mod 1000);

        x := x div 1000;

    end;

    writeln(a); write(b);

end.

Си

#include <stdio.h>

int main()

{

    int x, a, b;

    scanf("%d", &x);

    a = 0; b = 1;

    while (x > 0) {

        a = a+1;

        b = b * (x%1000);

        x = x/1000;

    }

    printf("%d\n%d", a, b);

    return 0;

}

 


Ответ:

21
Задание 21 № 7997

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

 

БейсикPython

DIM K, I AS LONG

INPUT K

I = 12

WHILE I > 0 AND F(I) > K

    I = I - 1

WEND

PRINT I

FUNCTION F(N)

    F = N * N - 20

END FUNCTION

def f(n):

    return n * n - 20

k = int(input())

i = 12

while i > 0 and f(i) > k:

    i = i - 1

print(i)

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

var k, i : longint;

    function f(n: longint) : longint;

        begin

            f := n * n - 20

        end;

begin

    readln(k);

    i := 12;

    while (i>0) and (f(i)> k) do

        i := i-1;

    writeln(i)

end.

алг

нач

цел i, k

ввод k

i := 12

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

i := i - 1

кц

вывод i

кон

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

нач

знач := n * n - 20

кон

Си

#include <stdio.h>

long f(long n) { return n * n - 20; }

int main()

{

    long k, i;

    scanf("%ld", &k);

    i = 12;

    while (i>0 && f(i)>k) i––;

    printf("%ld", i);

    return 0;

}

 


Ответ:

22
Задание 22 № 6775

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

 

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

a = 30

b = 6

a = a * 3 / b

IF a < b THEN

c = 3*a - 5 * (b+2)

ELSE

c = 3*a + 5 * (b+2)

END IF

a := 30;

b := 6;

a := a * 3 / b;

if a < b then

c := 3*a - 5 *(b+2)

else

c := 3*a + 5 * (b+2);

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

a = 30;

b = 6;

a = a * 3 / b;

if (a < b)

c = 3*a - 5 * (b+2);

else

c = 3*a + 5 * (b+2);

a := 30

b := 6

a := a * 3 / b

если a < b

то c := 3*a - 5*(b+2)

иначе c := 3*a + 5*(b+2)

все

 


Ответ:

23
Задание 23 № 13634

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

 

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

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

((x7 ≡ x8) → (x8 ≡ x9)) /\ ((y7 ≡ y8) → (y8 ≡ y9)) = 1

 

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


Ответ:

24
Задание 24 № 5852

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

 

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

DIM N AS LONG

INPUT N

min_digit = 0

WHILE N > 0

    digit = N MOD 10

    IF digit > min_digit THEN

        min_digit = digit

    END IF

    N = N \ 10

WEND

PRINT min_digit

END

var N: longint;

    digit, min_digit: integer;

begin

    readln(N);

    min_digit := 0;

    while N > 0 do

    begin

        digit := N mod 10;

        if digit > min_digit then

            min_digit := digit;

        N := N div 10;

    end;

    writeln(min_digit);

end.

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

#include <stdio.h>

int main ()

{

    long int N;

    int digit, min_digit;

    scanf("%ld", &N);

    min_digit = 0;

    while (N > 0)

    {

        digit = N % 10;

        if (digit > min_digit)

            min_digit = digit;

        N = N / 10;

    }

    printf("%d", min_digit);

}

 

алг

нач

    цел N, digit, min_digit

    ввод N

    min_digit := 0

    нц пока N > 0

        digit := mod(N, 10)

        если digit > min_digit то

            min_digit := digit

        все

        N := div(N, 10)

    кц

    вывод min_digit

кон

 

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

 

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

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

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

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

 

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


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

25
Задание 25 № 10301

Дан массив, со­дер­жа­щий 2016 не­от­ри­ца­тель­ных целых чисел. Не­об­хо­ди­мо найти в этом мас­си­ве ко­ли­че­ство таких элементов, ко­то­рые равны сред­не­му ариф­ме­ти­че­ско­му двух элементов, рас­по­ло­жен­ных сразу после него. Например, в мас­си­ве из 6 элементов, рав­ных со­от­вет­ствен­но 2, 3, 1, 5, 6, 4, есть три таких элемента, они рас­по­ло­же­ны на первом, вто­ром и четвёртом месте и равны 2, 3 и 5.

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

 

БейсикPython

CONST N=2016

DIM A(N) AS INTEGER

DIM I, K AS INTEGER

FOR I = 1 TO N

  INPUT A(I)

NEXT I

END

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

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

# пе­ре­мен­ной k

a = []

N = 2016

for i in range(0, N):

  a.append(int(input()))

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

const

  N=2016;

var

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

  i, k: integer;

begin

  for i:=1 to N do

    readln(a[i]);

  …

end.

алг

нач

  цел N=2016

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

  цел i, k

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

    ввод a[i]

  кц

кон

Си

#include <stdio.h>

#define N 2016

int main(){

  int a[N];

  int i, k;

  for (i=0; i    scanf("%d", &a[i]);

  …

  return 0;

}

 

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


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

26
Задание 26 № 4883

Два игрока, Петя и Вася играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 5, а во второй — 6 камней. У каждого игрока неограниченно много камней. Игроки ходят по очереди, первый ход делает Петя. Ход состоит в том, что игрок увеличивает или в 2 раза, или в 3 раза число камней в какой-то куче. Выигрывает игрок, после хода которого общее число камней в двух кучах становится не менее 48 камней. Кто выигрывает при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока?

 

Ответ обоснуйте.


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

27
Задание 27 № 6590

В те­ле­ви­зи­он­ном тан­це­валь­ном ма­ра­фо­не с опре­де­ле­ни­ем по­бе­ди­те­ля с по­мо­щью те­ле­зри­те­лей после каж­до­го тура объ­яв­ля­ет­ся sms-голосование, в ко­то­ром зри­те­ли ука­зы­ва­ют наи­бо­лее по­нра­вив­шу­ю­ся им пару из мак­си­мум 10 пар, ко­то­рые участ­ву­ют в проекте. Вам пред­ла­га­ет­ся на­пи­сать эффективную, в том числе по ис­поль­зу­е­мой памяти, программу, ко­то­рая будет об­ра­ба­ты­вать ре­зуль­та­ты sms-голосования по дан­но­му вопросу. Ре­зуль­та­ты го­ло­со­ва­ния по­лу­че­ны в виде но­ме­ров пар (каждый эле­мент спис­ка со­от­вет­ству­ет од­но­му sms-сообщению). Сле­ду­ет учитывать, что ко­ли­че­ство го­ло­сов в спис­ке может быть очень велико. Перед тек­стом про­грам­мы крат­ко опи­ши­те ис­поль­зу­е­мый Вами ал­го­ритм ре­ше­ния задачи. На вход про­грам­ме в пер­вой стро­ке подаётся ко­ли­че­ство при­шед­ших sms-сообщений N. В каж­дой из по­сле­ду­ю­щих N строк за­пи­сан номер пары от 1 до 10.Пример вход­ных данных:

 

4

2

10

3

2

 

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

 

3 1

10 1

2 2


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




     О проекте · Редакция

© Гущин Д. Д., 2011—2017


СПб ГУТ! С! Ф! У!