Шкільна олімпіада 2018 (розбір) | Articles

A. Хелловін

Виведемо суму цін найдешевших цукерок з кожного мішка.

Код розв’язку C++

Код розв’язку Python

B.Кольорові кульки

Якщо a>ba>b, поміняємо aa й bb, G й Y. Без обмеження загальності вважаємо, що abab. Виведемо baba разів G, потім — aa разів YG.

Код розв’язку C++

Код розв’язку Python

C. Нова кухня

Якщо nn і mm — непарні, то площа кухні також непарна, тому не вийде замостити всю підлогу. Нехай тепер хоча б одне із чисел nn і mm парне. Якщо mm непарне, то замостимо підлогу вертикальними плитами, якщо ж парне — горизонтальними.

Код розв’язку C++

Код розв’язку Python

D. Знайди паліндром

Паліндром непарної довжини має центральний символ. Переберемо його. Спочатку поточний паліндром складається з одного символа. Будемо розширювати поточний паліндром в обидва боки, поки символ зліва від паліндрома збігається із символом справа від паліндрома. Оновимо відповідь довжиною поточного паліндрома.

Паліндром парної довжини має два однакові центральні символи, а не один. Цей випадок розглядається так само.

Складність розв’язку: O(n2)O(n2).

Код розв’язку C++

Код розв’язку Python