Бали за задачу: 30
Обмеження часу: 500 мс
Василь недавно отримав нову роботу: зараз він займає відповідальну посаду на кондитерській фабриці. Відповідає Василь за якість упакованої продукції. Суть його роботи полягає в тому, щоб контролювати кількість упакованих цукерок у коробці. Напишіть програму, яка зможе робити цю роботу замість Василя. На вхід програми подається таблиця з R рядків і C стовпців. Ця таблиця є видом зверху коробки цукерок і містить такі символи:
".”: вільне місце
"o”: їстивна частина цукерки
"< > v ^”: фантики
ASCII коди символів: 46, 111, 60, 62, 118 і 94.
Є два способи вигляду правильно впакованої цукерки:
1. >o<
v
2. o
^
Якщо зустрічаються такі комбінації символів, то це є ціла цукерка. Можна вважати, що така послідовність символів ніколи не зустрінеться. Ваша програма повинна рахувати кількість цукерок у коробці.
Вхідні дані:".”: вільне місце
"o”: їстивна частина цукерки
"< > v ^”: фантики
ASCII коди символів: 46, 111, 60, 62, 118 і 94.
Є два способи вигляду правильно впакованої цукерки:
1. >o<
v
2. o
^
Якщо зустрічаються такі комбінації символів, то це є ціла цукерка. Можна вважати, що така послідовність символів ніколи не зустрінеться. Ваша програма повинна рахувати кількість цукерок у коробці.
Перший рядок вхідного потоку містить два цілих числа R i C (1≤R, C≤400) - розміри таблиці. Кожен з наступних рядків містить один рядок таблиці із символами з вказаного набору.
Вихідні дані: Формат вихідних даних. У вихідний потік вивести одне ціле число - кількість цукерок в коробці.
Приклад вхідних та вихідних даних.
Приклад вхідних даних: | Приклад вихідних даних: |
5 4 .>o< ^.v. ooo. ^.^. >o<< | 3 |
Задача B. "Знову кролики"
Бали за задачу: 30
Обмеження часу: 500 мс
Як уже відомо із задач попереднього туру, генетичний код кролика "являє собою деяке двійкове число”. Ветеринару із ферми Дієтенко вдалося встановити, що кролики, код яких не має K одиниць, які розташовані поряд, є достатньо стійкими для ураження вірусом CSFV. Дієтенко просить олімпійців написати програму, яка зможе знайти кількість N-бітних кодів (чисел), які мають описану вище властивість.
Вхідні дані: Вхідний потік містить натуральні числа N і K (N, K≤30)
Вихідні дані: У вихідний потік вивести кількість чисел, які не мають K одиниць, що ідуть підряд.
Приклад вхідних та вихідних даних.
Приклад вхідних даних: | Приклад вихідних даних: |
3 2 | 5 |
Задача C. "Лабіринт Скруджа"
Бали за задачу: 30
Обмеження часу: 6 с
Скрудж Макдак має новий план, як збільшити своє багатство. Зовсім недавно невгамовний Скрудж знайшов стародавні руїни з незвичайним лабіринтом. Цей лабіринт складається з N кімнат пронумерованих від 0 до N-1. Кожна кімната містить рівно один дорогоцінний камінь. Кімнати пов'язані між собою за допомогою односторонніх тунелів. Кожна кімната має рівно два вихідних тунелі: один веде в кімнату з номером (av2+bv+c) mod n, де v - номер кімнати в якій зараз знаходиться Скрудж, інший - на вихід із лабіринту.
Скрудж може почати свій рух по лабіринті з будь-якої кімнати. Але як тільки він вийде з лабіринту, то буде запущений механізм самознищення - стеля в лабіринті завалиться і всі дорогоцінні каміння, які там залишаються, будуть втрачені назавжди. Природньо, що Скрудж хоче знати, яку максимальну кількість каменів він зможе зібрати в лабіринті, якщо буде працювати оптимально.
Вхідні дані:Скрудж може почати свій рух по лабіринті з будь-якої кімнати. Але як тільки він вийде з лабіринту, то буде запущений механізм самознищення - стеля в лабіринті завалиться і всі дорогоцінні каміння, які там залишаються, будуть втрачені назавжди. Природньо, що Скрудж хоче знати, яку максимальну кількість каменів він зможе зібрати в лабіринті, якщо буде працювати оптимально.
Вхідний потік містить цілі числа a, b, c, n (0≤a, b, c<100, n<224)
Вихідні дані:
Вихідний потік містить максимальну кількість каменів, які можна зібрати в лабіринті.
Приклад вхідних та вихідних даних.
Приклад вхідних даних: | Приклад вихідних даних: |
1 2 0 64 | 5 |
ZVV