Top Banner
Олiмпiаднi задачi з iнформатики Рубан М.М., Устiнов С.Є. Розв’язання задач II етапу Всеукраїнської олiмпiади з iнформатики — 2010 р. Слов’янськ – 2011
19

Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Aug 30, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi зiнформатики

Рубан М.М., Устiнов С.Є.

Розв’язання задачII етапу Всеукраїнської олiмпiади

з iнформатики — 2010 р.

Слов’янськ – 2011

Page 2: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Серiя заснована у 2008 роцi

УДК 37.016:004.021ББК 22.1Р820

Рецензенти кандидат фiз.-мат. наук, ПАВЛЕНКО В.I.,завiдувач кафедри комп’ютерних систем та мережГорлiвського регiонального iнституту ВНЗВМУРоЛ «Україна»

кандидат фiз.-мат. наук, КАДУБОВСЬКИЙ О.А.,Слов’янський державний педагогiчний унiверситет,доцент кафедри ГМВМ

Затверджено Вченою радою Слов’янського державногопедагогiчного унiверситету.

Вiдповiдальний кандидат фiз.-мат. наук, завiдувач кафедриза випуск алгебри Рябухо О.М.

Рубан М.М., Устiнов С.Є.ОЛIМПIАДНI ЗАДАЧI З IНФОРМАТИКИ: Розв’язання задач II етапуВсеукраїнської олiмпiади з iнформатики – 2010 р. – Слов’янськ, 2011. –122 с.: iл. (Серiя: Викладачi СДПУ – учням, студентам, вчителям...)ISBN 978-966-1554-60-2

Для вчителiв, методистiв, керiвникiв гурткiв з програмування, викла-дачiв та студентiв спецiальностей «математика», «iнформатика» вищихнавчальних закладiв.

УДК 37.016:004.021ББК 22.1

ISBN 978-966-1554-60-2 c⃝ Рубан М.М., Устiнов С.Є.

Page 3: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 3

Змiст

Вступ 4

Список позначень 6

Класифiкацiя задач 7

Автономна Республiка Крим 9

Волинська область 13

Днiпропетровська область 19

Донецька область 27

Запорiзька область 39

Луганська область 55

Львiвська область 61

Полтавська область 67

Рiвненська область 76

Сумська область 85

Тернопiльська область 90

Харкiвська область 95

Хмельницька область 103

Чернiвецька область 108

Задачi для самостiйного розв’язку 115

Лiтература 118

Ресурси мережi Iнтернет 120

Page 4: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

4 Вступ

ВступЕсть книги, которые надо только отведать,

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

/Фрэнсис Бэкон (Francis Bacon)/

Одним з основних напрямкiв розвитку змагань з iнформатики середучнiв та студентiв є поширення рiзноманiтних турнiрiв зi спортивно-го програмування. Це i мiжнароднi турнiри, що проходять пiд егiдоюмiжнародної органiзацiї АСМ (Association for Computing Machinery), iтурнiри в рамках держав та їх територiальних одиниць, змагання мiжстудентами унiверситетiв, галузевих унiверситетiв тощо. Всi цi турнiрипоєднує єдина форма проведення, та спiльна форма органiзацiї завдань.Такi турнiри вже перешагнули границi очних змагань i все бiльше iснуєiнтернет-ресурсiв, за допомогою яких органiзовуються як iндивiдуальнiзмагання так i команднi (див. Ресурси мережi Internet).

Чудовими матерiалами для пiдготовки до нових олiмпiад є збiрникиолiмпiадних задач, якi вже проходили. I хоча з iнформатики проведеновже велику кiлькiсть олiмпiад та турнiрiв, а з задачами, якi там булозапропоновано можна ознайомитись на сайтах Iнтернету, систематизо-ваних i методично оформлених збiрок в навчальних закладах практичноне iснує.

Даний випуск мiстить задачi олiмпiад II етапу Всеукраїнської олiм-пiади з iнформатики, якi проходили в Волинськiй, Днiпропетровськiй,Донецькiй, Запорiзькiй, Луганськiй, Львiвськiй, Полтавськiй, Рiвнен-ськiй, Сумськiй. Тернопiльськiй, Харкiвськiй, Хмельницькiй, Чернiве-цькiй областях та Автономнiй Республiцi Крим в 2010 роцi. I хоча для8-9 класiв умовою задачi не передбачалось написання комп’ютерної про-грами, але наведенi приклади розв’язання задач будуть дуже корисними.

Тексти задач приведенi в тому виглядi, в якому вони пропонувалисяна олiмпiадi, щоб зберегти повне уявлення про кожну область. До кожноїзадачi наведено вказiвки та програмне рiшення.

Основна мета посiбника – допомога:X вчителю, викладачу, тренеру – системно органiзувати пiдготовку

учнiв та студентiв, до олiмпiад i турнiрiв з iнформатики;X учням, студентам – перевiрити рiвень своєї пiдготовки, розв’язуючи

завдання iз збiрника i оцiнюючи свої розв’язки;X всiм учасникам олiмпiйського руху з iнформатики – пiдвищити

свiй олiмпiйський потенцiал, ознайомившись iз запропонованимирозв’язками задач.

Ми використовуємо мову Pascal для представлення алгоритмiв, якi

Page 5: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 5

описуємо, тому, що це одна з найпоширенiших мов програмування. Спо-чатку алгоритми представляються у виглядi аналiзу чи в iншiй абстра-ктнiй формi. Це зроблено для того, щоб показати весь спектр проблемпри розв’язку практичних задач: вiд проблеми формалiзацiї задачi допроблем, якi можуть виникнути пiд час виконання завершеної програ-ми.

Алгоритми, якi ми пропонуємо, можна реалiзувати на будь-якiй вiдо-мiй Вам мовi програмування.

Авторськi задачi, якi приведенi в роздiлi «Задачi для самостiйногорозв’язку», Ви можете знайти та спробувати розв’язати в online-режимiна сайтi E-Olimp (http://www.e-olimp.com/).

Бажаємо успiхiв!

Page 6: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

6 Список позначень

Список позначеньПлохая система обозначений может сделать

хорошее изложение плохим, а плохое – еще худшим;лучшее обозначение – отсутствие обозначений.

/Пол Ричард Халмош (Paul Richard Halmos)/

Позначення Опис

|x| модуль числа x

n! факторiал числа (n! = 1 · 2 · . . . · n, 0! = 1)n∑

i=1

i сума чисел вiд 1 до n

n∑k=1

ak сума елементiв вiд a1 до an

min(a, b) мiнiмальне число серед чисел a та b

max(a, b) максимальне число серед чисел a та b

x = a, b x пробiгає всi цiлi значення на вiдрiзку [a, b]

a... b a кратне b

a ̸ ... b a не кратне b

gcd(a, b) найбiльший спiльний дiльник (НСД) двох цiлих чиселa та b

lcm(a, b) найменше спiльне кратне (НСК) двох цiлих чиселa та b

⌊x⌋ найбiльше цiле число, яке меньше або рiвне x:max{n | n 6 x}

⌈x⌉ найменше цiле число, яке бiльше або рiвне x:min{n | n > x}

mod(a, b) остача вiд дiлення: a− b⌊a/b⌋div(a, b) цiлочисельне дiлення: ⌊a/b⌋

Page 7: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 7

Класифiкацiя задачЕсть лишь два вида языков программирования:

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

/Бьёрн Страуструп (Bjarne Stroustrup)/

Для зручностi в користуваннi задачi збiрника було розподiлено накласи. В дужках записано номер сторiнки на якiй Ви зможете знайтиумову задачi.

Простi задачi

Number (9), Четвертування шоколаду (27), Вирiзання числа (28), Мага-зин (32), Рибальська сiтка (39), Ремонт (40), Бiнарнi числа (41), В гостяху Кролика (51), Зернини (55), Олiмпiада (62), Ключ (69), Щаслива кiль-кiсть (76), Рiзниця (103), Битва екстрасенсiв (108).

Теорiя чисел

Number (9), Годинник (13), FiWi (19), Вирiзання числа (28), Вiдсутнєчисло (28), Суперзмагання (29), Шестикутники (30), «Комедiя чи бо-йовик?» (63), Одиницi (67), Дiлення на 3 (79), Маршрутне таксi (80),Мiнiмальна сума (81), Фактор числа (88), Ланцюжок непростих чисел(97), Число (100), Математика у шостому класi (105), Дiльники (106),Чарiвнi зернята (109).

Системи числення

Binary (9), Кодування (23), Бiнарнi числа (41), Одиницi (67), Хитрийбобер (70), «Симпатичнi числа» (90), Римська система (95).

Геометрiя

Catcher (20), Четвертування шоколаду (27), Фермерське щастя (44),Стiльниковий зв’язок у великому мiстi (46), Броунiвський рух (73), Їжа-чок (78), Подорож (85).

Перебiр варiантiв

Двоякi числа (14), Днi ненародження (34), Морський бiй (36), Фермер-ське щастя (44), Найбiльший добуток (56), Номер Будинку (91), Числа(103), Дiльники (106), Бiзнес (113).

Page 8: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

8 Класифiкацiя задач

Комбiнаторика

Шестикутники (30), Щасливi числа (49), День народження Петрика (65).

Структури даних

Каси (21), Днi ненародження (34), Найбiльше середнє (37), Експеримент(43), Стiльниковий зв’язок у великому мiстi (46), Ферзь, тура i кiнь (53),Числа (103), Материк (110), Безпека банкiв (112).

Сортування та пошук

Кодування (23), Найбiльше середнє (37), Безпека банкiв (112).

Моделювання

Зламаний годинник (33), Наперстки (42), Експеримент (43), Ферзь, тураi кiнь (53), Петрик П’яточкiн та слоненята (61), Друкарська справа (76),Вираз (86).

Пошук в глибину (рекурсiя)

Знаки (24), Хитрий бобер (70), Нафтовi плями (68), Фiгури (83).

Динамiчне програмування

Fibo (10), Станцiї (15), Морський бiй (36), Купiвля квиткiв (57), Мiнi-мальна сума (81), Фiшка (92), Бiзнес (113).

Довга арифметика

Fibo (10), Фiшка (92), Число (100).

Page 9: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 9

Автономна Республiка КримУчитывая текущее плачевное состояние наших программ, можно сказать,

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

/Билл Клинтон (Bill Clinton)/

Задача 1. Number. Знайти суму цифр натурального числа N , де1 6 N 6 2 147 483 647.

Вхiднi данi. Вхiдний файл мiстить число N .Вихiднi данi. Вихiдний файл мiстить результат.Обмеження за часом: 1 сек. на тест.Приклад вхiдних i вихiдних даних.

Приклад введення: Приклад виведення:7259 23

Аналiз. Задача дуже проста та, на нашу думку, не потребує аналiзу.Весь розв’язок зводиться до сумування останньої цифри числа (остачавiд дiлення на 10 — n mod 10). Пiсля сумування «позбуваємось» вiдостанньої цифри (беремо цiлу частину вiд дiлення на 10 — n div 10). Цiдiї повторюємо до тих пiр, поки не обробимо всi цифри вхiдного числа.

Програмна реалiзацiя наведеного розв’язку:1 var s , n : integer ;2 begin3 readln (n ) ; s :=0;4 while n>0 do5 begin6 s := s+n mod 10 ;7 n:=n div 10 ;8 end ;9 Writeln ( s ) ;10 end .

Задача 2. Binary. Перевести число N (12 6 N 6 1 111 111 1112),задане в двiйковiй системi числення, в десяткову систему числення.

Вхiднi данi. Вхiдний файл мiстить число N , задане в двiйковiй системiчислення.

Вихiднi данi. Вихiдний файл мiстить результат.Обмеження за часом: 1 сек. на тест.Приклад вхiдних i вихiдних даних.

Приклад введення: Приклад виведення:10100 20

Аналiз. Бiльшостi олiмпiйцям добре вiдомий алгоритм переведеннячисла з двiйкової у десяткову систему числення. Суть алгоритму полягає

Page 10: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

10 Автономна Республiка Крим

в наступному: кожну цифру даного числа множимо на двiйку в степенi на1 мешному, нiж порядковий номер цифри в вхiдному числi (починаючиз останньої), та сумуємо всi отриманi добутки. Наприклад, для числа11001012 мусимо виконати наступнi дiї:

11001012 = 1 · 20 + 0 · 21 + 1 · 23 + 0 · 24 + 0 · 25 + 1 · 26 + 1 · 27 = 10110

Програмна реалiзацiя наведеного розв’язку:1 var n , t , k : integer ;2 begin3 Readln(n ) ; t :=0; k :=1;4 while n>0 do5 begin6 t := t+k∗(n mod 10 ) ;7 n:=n div 10 ;8 k:=k ∗2 ;9 end ;10 Writeln ( t ) ;11 end .

Проте перевести число з двiйкової у десяткову систему можна такожнестандартним алгоритмом, який потребує меншої кiлькостi операцiй (зарахунок того, що немає потреби зберiгати поточну степiнь двiйки). Длякожної цифри вхiдного числа слiд виконати такi дiї: помножити отрима-ну ранiше суму на 2 та додати до неї поточну цифру. В даному алгоритмiпiдрахунок необхiдно розпочинати з найбiльшого розряду числа.

Проiлюструємо алгоритм на числi 11001012:

11001012 = (((((1 · 2 + 1) · 2 + 0) · 2 + 0) · 2 + 1) · 2 + 0) · 2 + 1 = 10110

Програмна реалiзацiя наведеного розв’язку:1 var n : s t r i n g ;2 t , i : integer ;3 begin4 Readln(n ) ; t :=0;5 for i :=1 to Length (n) do6 t := t∗2+ord (n [ i ]= ’ 1 ’ ) ;7 Writeln ( t ) ;8 end .

Задача 3. Fibo. Послiдовнiсть Фiбоначчi виглядає наступим чином:

1, 1, 2, 3, 5, 8, 13, 21, . . .

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

Page 11: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 11

Iншими словами, послiдовнiсть Фiбоначчi задається наступною реку-рентною формулою:

F1 = 1; F2 = 1; Fn = Fn−1 + Fn−2

Напишiть програму, яка знаходить N -те число Фiбоначчi.Вхiднi данi. Єдиний рядок вхiдного файлу мiстить натуральне число

N (1 6 N 6 10000).Вихiднi данi. Єдиний рядок вихiдного файлу повинен мiстити N -те

число Фiбоначчi.Обмеження за часом: 1 сек. на тест.Приклад вхiдних i вихiдних даних.

Приклад введення: Приклад виведення:1 17 1314 337

Аналiз. Дана задача на перший погляд здається дуже простою, проте,слiд звернути увагу на обмеження N 6 10000. Вже 93-iй член послiдов-ностi Фiбоначчi виходить за межi типу int64.

F93 = 12 200 160 415 121 876 738

Виходячи з цього, робимо висновок, що для розв’язку задачi необхiдновикористовувати «довгу арифметику».

Для розв’язку реалiзуємо сумування та виведення довгих чисел. Ко-жне довге число зберiгатимемо в масивi цiлих чисел з 250 елементiвdl = array[0..250] of Integer. В кожному елементi масиву зберiгатимемо9 розрядiв «довгого числа», таким чином в масивi помiститься число, щоскладається з 2250 цифр. Зауважимо, що F10000 складається з 2090 цифр.

Для пошуку N -го числа Фiбоначчi необхiдно поступово знаходити Fi

для i = 3, 4, 5, 6, 7, . . . , N , щоразу виражаючи Fi = Fi−1 + Fi−2, викори-стовуючи операцiю додавання довгих чисел.

Програмна реалiзацiя наведеного розв’язку:1 type dl=array [ 0 . . 2 5 0 ] of Integer ;2 var a , b , c : d l ;3 i , n : integer ;4 t : i n t64 ;5 w: s t r i n g ;6 begin7 Readln(n ) ;8 a [ 0 ] := 1 ; a [ 1 ] := 1 ; b [ 0 ] := 1 ; b [ 1 ] := 1 ; n:=n−2;9 while n>0 do10 begin

Page 12: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 115

Задачi для самостiйного розв’язку«Сядем на минутку», – предложила Алиса.

«На минутку?» – воскликнул Кролик.«А если бы на тебя сели?»

/Льюис Кэррол (Lewis Carroll), Приключения Алисы в Стране чудес/

Задача A. Млинцi з медом.

Якось Вiннi-Пух та П’ятачок разом снiдали млинцями з медом тасмачним молоком. На столi в них було 3 тарiлки з млинцями: на першiйтарiлцi було 3 млинця, на другiй – 5, а на третiй 7 млинцiв. Щоб до-датково пiдняти настрiй пiд час снiданку, П’ятачок запропонував Вiннiпограти в просту гру за такими правилами:

X за один раз можна з будь-якої тарiлки взяти та з’їсти довiльнукiлькiсть млинцiв бiльшу за 0 (якщо вони на нiй є);

X програє той хто з’їсть останнiй млинець.Оскiльки Вiннi не дуже любить програвати, допоможiть йому визна-

чити, хто виграє в цiй грi, якщо вiдомо скiльки млинцiв та з якої тарiлкивзяв i з’їв перший гравець. Кожен гравець використовує оптимальнустратегiю.

Вхiднi данi. Через промiжки дано одну латинську лiтеру (W – якщогру починає Вiннi-Пух або P – якщо гру починає П’ятачок) та два цiлихчисла T та M (1 6 T 6 3, 1 6 M 6 7), де T – номер тарiлки з якої буловзято млинцi, M – кiлькiсть млинцiв.

Вихiднi данi. Вивести «Winnie-the-Pooh» (без лапок), якщо виграєВiннi-Пух або «Piglet», якщо виграє П’ятачок. У випадку коли завхiдними даними неможливо визначити переможця, то вивести «Error».

Обмеження за часом: 0.5 сек. на тест.

Приклад вхiдних i вихiдних даних.Приклад введення: Приклад виведення:P 3 7 Winnie-the-Pooh

Page 13: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

116 Задачi для самостiйного розв’язку

Задача B. Рисове поле.

Одного разу, подорожуючи по казковiй країнi, Кролик в однiй з до-лин побачив рисове поле. Поле займало всю долину, яка представляєсобою прямокутник розмiром M × N клiтин. Кролик був дуже враже-ний складним устроєм цього поля. Воно складалося з окремих дiлянок,кожна дiлянка розташована на своєму рiвнi. Оскiльки розмiри поля ду-же великi, то Кролик просить Вас допомогти йому знайти дiлянки поляз найбiльшою i найменшою площами.

Вхiднi данi. В першому рядку вхiдного файлу два числа M та N(1 6 M, N 6 100). В наступних M рядках по N чисел, роздiленихпропусками, йде опис карти. Кожна клiтина карти мiстить цiлi числа pi(0 6 pi < 100), якi вказують на якому рiвнi перебуває дiлянка. Дiлянкаце набiр клiтин поля, якi розташованi на одному рiвнi i мають з iншимиклiтинами цього ж рiвня спiльну сторону.

Вихiднi данi. Вивести через пропуск два числа: максимальну i мiнi-мальну площi дiлянок.

Обмеження за часом: 1 сек. на тест.Приклад вхiдних i вихiдних даних.

Приклад введення: Приклад виведення:7 7 24 17 7 7 7 7 7 77 5 5 5 5 5 77 4 2 4 4 5 77 4 2 0 4 5 77 4 2 2 2 5 77 4 4 4 4 5 77 7 7 7 7 7 7

Page 14: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 117

Задача C. Бджолиний код.

Вiннi-Пух, як великий знавець меду, дуже часто заходив у гостi добджiл (вiн таки знайшов «правильних» бджiл, якi роблять «правиль-ний» мед). Звичайно, бджоли дуже гостиннi, проте Вiннi приходив угостi навiть тодi, коли хазяїв не було вдома, тому бджоли дуже частонедораховувались одного чи двох горщикiв меду, що їм не подобалось.

Щоб позбавитися вiд непроханого гостя, було вирiшено поставити су-часну систему захисту вiд стороннiх – кодовий замок. Проте бджiл булодуже багато i хтось постiйно забував код, довелося бiля дверей почепититабличку з пiдказкою та ускладнити систему захисту. На табличцi булонаписано таке:

2, 5, 9, 16, 27, 45, 74, 121, 197, . . .

На сенсорному дисплеї замка був напис: «Введiть 10-ий член послi-довностi». Вiннi-Пух два днi витратив на пiдрахунки, проте йому так iне вдалося потрапити за зачиненi дверi – як виявилось, кожнi 30 хвилинзавдання змiнювалось i доводилось шукати вже iнший член послiдовно-стi.

Сова не змогла навчити Вiннi-Пуха швидкопiдраховувати необхiдне значення, проте далагарну iдею – захопити з собою ноутбук з про-грамою, яка за секунду може обчислити такийнеобхiдний код.

Напишiть для Вiннi-Пуха програму i, можли-во, при зустрiчi вiн пригостить Вас здобутим ме-дом.

Вхiднi данi. Одне цiле число N 6 50.Вихiднi данi. Одне цiле число – N -ий член

послiдовностi.Обмеження за часом: 1 сек. на тест.Приклад вхiдних i вихiдних даних.

Приклад введення: Приклад виведення:3 97 74

Page 15: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

118

Лiтература

[1] Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных иалгоритмы. / Пер. с англ. – Москва: Вильямс, 2007. – 400 с.

[2] Беллман Р., Дрейфус С. Прикладные задачи динамическогопрограммирования. – Москва: Наука, 1965. – 458 с.

[3] Величко В.Є., Рубан. М.М., Батунiна В.П., Устiнов С.Є.Олiмпiаднi задачi з iнформатики: Розв’язання задач II ета-пу Всеукраїнської олiмпiади з iнформатики – 2007, 2008 рр. –Слов’ янськ, 2009. – 36 с.

[4] Величко В.Є., Рубан. М.М., Устiнов С.Є., Пiрус Є.М. Олiм-пiаднi задачi з iнформатики: Розв’язання задач II етапу Всеукра-їнської олiмпiади з iнформатики – 2010 р. – Слов’ янськ, 2010. –59 с.

[5] Грэхем Р., Кнут Д., Паташник О. Конкретная математи-ка.Основы информатики. М.: Мир; БИНОМ. Лаборатория знаний,2006. – 703 c.

[6] Долинский М.С. Алгоритмизация и программирование на TurboPascal от простых до олимпиадных задач. СПб.: Питер, 2005. –237 с.

[7] Иванов Б.Н. Дискретная математика. Алгоритмы и програм-мы. М.: Лаборатория Базових Знаний, 2001. – 288 с.

[8] Кирюхин В.М. Окулов С.М. Методика решения задач по ин-форматике. Международные олимпиады. – М.: БИНОМ. Лабора-тория знаний, 2007. – 600 c.

[9] Кнут Д. Искусство программирования, в 3-х томах. М.: Ви-льямс, 2000.

[10] Кормен Т., Лейзерсон Ч., Риверст Р., Штайн К. Алгори-тмы: построение и анализ. М.: Вильямс, 2005. – 1296 с.

[11] Левитин Ананий В. Алгоритмы: введение в разработку и ана-лиз. М.: Вильямс, 2006. – 576 с.

[12] Меньшиков Ф. Олимпиадные задачи по программированию. –СПб.: Питер, 2005. – 320 с.

[13] Окулов С.М. Программирование в алгоритмах. – М.: БИНОМ.Лаборатория знаний, 2004. – 341 c.

[14] Порублев И.Н., Ставровский А.Б. Алгоритмы и программы.Решение олимпиадных задач. – Москва: Вильямс, 2007. – 480 с.

Page 16: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Олiмпiаднi задачi з iнформатики 119

[15] Радион В.С. Олимпиады по информатике: задачи, решения, те-сты. – Минск: Аверсэв, 2007. – 367 с.

[16] Седжвик Р. Фундаментальне алгоритмы на С. Киев: Диасофт,2001. – 688 с.

[17] Скиена С.С, Ревилла М.А. Олимпиадные задачи по програм-мированию. Руководство по подготовке к соревнованиям/ Пер. сангл. – М: КУДИЦ-ОБРАЗ, 2005. – 416 с.

[18] Уорен Генри С. Алгоритмические трюки для программистов,исправленное издание / Пер. с англ. – Москва: Вильямс, 2004. –288 с.

[19] Шень А. Программирование: теоремы и задачи. – 2-е изд., испр.и доп. – М.: МЦНМО, 2004. – 296 с.

Page 17: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

120 Ресурси мережi Internet

Ресурси мережi Internet

http://acmicpc.org Офiцiйний сайт ACM-ICPC.http://e-olimp.com Система пiдготовки та проведення олiм-

пiад зi спортивного програмування.http://acm.lviv.ua ACM-Contester Український портал ACM-

спiльноти.http://acm.mipt.ru Олiмпiади з програмування на Фiзтехi.http://acm.timus.ru Timus Online Judge — найкрупнiший в Ро-

сiї архiв задач з рiзноманiтних змагань зiспортивного програмування.

http://acmsolver.org Портал для тих кого цiкавлять змагання зпрограмування ACM-ICPC.

http://g6prog.narod.ru Розбiр олiмпiадних задач з iнформатикивiд Михайла Густокашина.

http://ips.ifmo.ru Росiйська Iнтернет-школа iнформатики тапрограмування.

http://acmp.ru Школа програмiста. Красноярський край.http://informatik.kz Iнформатика викладання та навчання.http://www.olimp.sc170.kharkov.ua

Зимова школа з програмування, Хар-кiвський Нацiональний Унiверситет Радiо-електронiки.

Page 18: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Микола Миколайович Рубанасистент кафедри алгебри

Слов’янський державний педагогiчний унiверситет

Сергiй Євгенович Устiновiнженер-програмiст лабораторiї ОТI

Слов’янський державний педагогiчний унiверситет

ОЛIМПIАДНI ЗАДАЧI З IНФОРМАТИКИРозв’язання задач II етапу

Всеукраїнської олiмпiади з iнформатики – 2010 р.

Вiдповiдальний за випуск:

О.М. Рябухо,кандидат фiзико-математичних наук,доцент, завiдувач кафедри алгебри

Слов’янський державний педагогiчний унiверситет

Page 19: Олiмпiаднi задачi з iнформатики · 11 end. Проте перевести число з двiйкової у десяткову систему можна також

Пiдписано до друку 11.03.2011 р.Формат 60x84 1/16. Ум. др. арк. 7,75.

Тираж 50 прим. Зам. № 327.

Пiдприємець Маторiн Б.I.84116, м. Слов’янськ, вул. Г.Батюка, 19.

Тел./факс +38 06262 3-20-99. E-mail: [email protected]

Свiдоцтво про внесення суб’єкта видавничої справи до Державного реєстру видавцiв,виготiвникiв i розповсюджувачiв видавничної продукцiї ДК №3141, видане Державним

комiтетом телебачення та радiомовлення України вiд 24.03.2008 р.