Вітаю Вас, Гость

Задача А. "Посильний" GBI

Бали за задачу: 20
Обмеження часу: 1 с
Обмеження пам'яті: 64 M

   Біля першого під’їзду багатоповерхового будинку стоїть посильний з адресами замовлень в одній руці і з N коробками з піцою у другій. Йому потрібно рознести замовлення людям, які проживають у цьому будинку. Відомо, що i-та піца адресована людині, квартира якої знаходиться в під’їзді хі на поверсі уі. Для того, щоб увійти в під’їзд і піднятися на перший поверх, посильному потрібно t1 секунд. Стільки ж часу знадобиться і для того, щоб спуститися з першого поверху і вийти з під’їзду у двір. На те, щоб піднятись на один поверх вгору чи спуститися на один поверх вниз, знаходячись у під’їзді, посильний витрачає t2 секунд. Час, потрібний для того щоб подзвонити в одну квартиру, вручити піцу людині, взяти гроші та попрощатися, складає t3 секунд. Розносити піцу посильний може в будь-якому порядку. Доставка піци вважається завершеною, якщо в руках не залишиться жодної коробки, а посильний опиниться у дворі будинку (немає значення, біля якого під’їзду). Складіть алгоритм, який обчислює найменший час, за який може бути виконана доставка всіх піц.

   Вхідні дані:
   В першому рядку вводяться чотири цілих числа (n ≤ 100), (t1, t2, t3<10000). В другому рядку відповідні пари цілих чисел x, y ≤ 100.

   Вихідні дані:
   Ваша програма повинна виводити одне ціле число – шуканий час.

   Приклади

Вхідні дані   Результат роботи
3 2 3 4
1 3
1 5
4 4
62


 

 

Задача В. "Модний вузол" GBI

Бали за задачу: 20
Обмеження часу: 1 с
Обмеження пам'яті: 64 M

   Взуттєва фабрика збирається почати випуск елітної моделі черевик. Дірочки для шнурування будуть розташовані в два ряди, відстань між рядами дорівнює a, а відстань між дірочками  – у ряду b. Кількість дірочок в кожному ряду дорівнює N.
   Шнурування повинне відбуватися елітним способом «вгору, по горизонталі в інший ряд, вгору, по горизонталі і так далі» (див. малюнок). Крім того, щоб шнурки можна було зав’язати елітним бантиком, довжина вільного кінця шнурка повинна бути l.
   Яка повинна бути довжина шнурка для цих черевик?

   Вхідні дані:
   Вводяться чотири натуральні числа a, b, l, N. Всі числа не перевищують 10000.

   Вихідні дані:
   Ваша програма повинна виводити одне число – шукану довжину шнурка.

   Приклади

Вхідні дані   Результат роботи
2 1 3 4  26

 

Задача C. "Обмін підручниками" SOM

Бали за задачу: 20
Обмеження часу: 1 с
Обмеження пам'яті: 64 M
Ім'я файлу, який містить вхідні дані: change.in
Ім'я вихідного файлу: change.out

   У місті "К" підручники з інформатики у різних школах на відповідних паралелях однакові. На початок навчального року у шкільних бібліотеках утворилися по паралелях залишки або нестачі підручників з інформатики. У міському бібліотечному відділку є інформація про кількість підручників у кожній школі. При зверненні бібліотекаря певної школи міський відділ повинен надати інформацію про оптимальний варіант обміну підручниками між школами. Ваша задача - визначити для заданої школи номер школи, яка може поповнити нестачі або забрати залишки підручників оптимально, тобто щоб сумарна кількість невистачаючих підручників та надлишків після обміну була найменшою. Якщо таких шкіл декілька, вивести їх номери у порядку зростання, а якщо обмін неможливий,  виведіть NO.

   Вхідні дані:
   У вхідному файлі change.in у першому рядку через пропуск записано два додатних цілих числа K – кількість шкіл міста та N – номер школи, для якої шукаємо варіант(и) обміну (1<K≤200). У наступних K рядках записано по п’ять цілих чисел через пропуск – номер школи за зростанням та кількість підручників для обміну по чотирьох паралелях. Кількість підручників для обміну на кожній паралелі за модулем не перевищує 100. Від’ємна кількість свідчить, що підручників не вистачає на паралелі, нуль – повний комплект, додатна кількість – надлишок.

   Вихідні дані:
   У вихідний файл change.out вивести номер школи для кращого обміну або номера шкіл за зростанням через пропуск. Якщо обмін неможливий, вивести слово NO.

   Приклади

Вхідні дані   Результат роботи
5 2
1 10 8 12 -20
2 8 5 1 0
3 -8 10 -5 7
4 -15 -2 0 3
5 3 0 0 22
4




 
5 1
1 10 8 12 -20
2 8 5 1 0
3 -8 10 -5 7
4 -15 -2 0 3
5 13 0 0 22 
3 4




 
4 1   
1 1 1 0 0
2 2 2 -2 2
3 1 1 0 -1
4 2 5 6 -7
NO



 

 

Задача D. "Розпізнавання символів" POP

Бали за задачу: 20
Обмеження часу: 1 с
Обмеження пам'яті: 64 M
Ім'я файлу, який містить вхідні дані: char.in
Ім'я вихідного файлу: char.out

   Кожну з літер української абетки можна зобразити, використавши певну кількість сегментів – прямолінійних відрізків або дуг, що мають спільні точки (як показано на малюнку):

   Складіть програму для розпізнавання літери за відомим набором сегментів.

   Вхідні дані:
   У першому рядку текстового файлу char.in записане одне ціле число К - кількість сегментів. У кожному з наступних К рядків – одна велика латинська літера, що позначає тип сегмента: W – відрізок, L – ліве півколо (як у букви С), R – праве півколо (як у букви Р) та чотири цілі числа Х1, Y1, Х2, Y2, відокремлені пропусками – координати двох точок – кінців сегмента. Осі координат спрямовані так, як показано на малюнку. Всі координати додатні і не перевищують 100.

   Вихідні дані:
   У текстовий файл char.out вивести одне ціле число N - порядковий номер розпізнаної літери в алфавіті.

   Приклади

Вхідні дані   Результат роботи
3
L 50 50 50 80
R 50 50 50 80
W 50 80 50 30
25


 

   Пояснення. Під номером 25 в українському алфавіті стоїть літера Ф, сегменти якої закодовані у зразку вхідних даних.
 

Задача E. "Дві палички - 2" POP

Бали за задачу: 20
Обмеження часу: 1 с
Обмеження пам'яті: 64 M

   Розміщуючи вертикальний та горизонтальний відрізок різними способами, можна отримати різні літери та математичні знаки:

Номер 1 2 3 4 5
Знак L Г T +

   Палички у випадках 3,4,5 дотикаються або перетинаються посередині відповідних відрізків.
   Складіть програму, яка за відомими координатами кінців відрізків визначить номер утвореного ними знаку у таблиці.

   Вхідні дані:
   У двох рядках стандартного вхідного потоку записано по 4 цілі числа X1, Y1, X2, Y2 (0 ≤ Xi ≤ 100, 0 ≤ Yi ≤ 100), відокремлені пропусками: координати кінців двох відрізків.

   Вихідні дані:
   У єдиний рядок стандартного вихідного потоку вивести ціле число N – номер знаку у таблиці або 0, якщо відповідне розташування відрізків у таблиці відсутнє.

   Приклади

Вхідні дані   Результат роботи
0 0 0 10
5 0 0 0
1
 
30 10 40 10
35 10 35 70
5
 
60 50 60 90
40 49 80 49
0