ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Турниры > Тренировочный турнир сезона «Зима — 2019» > задача:


P5. Бегущий огонь справа налево в одном ряду

Тренировочный турнир сезона «Зима — 2019»

Старт: 01.янв.2019 в 00:00:00
Финиш: 31.янв.2019 в 23:00:00
Осталось: 264:13:33
• Турнирная таблица

Задачи турнира

• I. Макс и распознавание фигур
• J. Макс и муниципальная задача
• K. СириусЛяндия и страсть к оливкам
• P1. Подбор отрезков ленты для од...
• P10. Бегущие огни в диагоналях
• P2. Подбор отрезков ленты для дв...
• P3. Подбор кусков ленты для ква...
• P4. Бегущий огонь слева направо в...
• P5. Бегущий огонь справа нал...
• P6. Бегущие пары слева направо в...
• P7. Бегущие пары справа налево в...
• P8. Бегущие колонки слева напра...
• P9. Бегущие колонки справа нале...

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Бегущий огонь справа налево в одном ряду
Бегущий огонь справа налево в одном ряду
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Каждая светодиодная лента, содержит набор последовательно соединенных светодиодов. На вход ленты подается поток бинарных сигналов с логическими значениями 0 и 1. Каждый светодиод снабжен микросхемой. Микросхема первого светодиода забирает первые 24 бита входного потока (это три байта по 8 разрядов), микросхема второго светодиода – вторые 24 бита и т. д. Этот поток будем называть сигнатурой.

Каждый из трех байтов сигнатуры задает яркость определенного цвета: $$$R$$$ – красный, $$$G$$$ – зеленый, $$$B$$$ – синий. Для создания на ленте из $$$N$$$ светодиодов совокупности светящихся должным образом диодов, необходимо подать на вход сигнатуру длиной 24 * $$$N$$$ бит. Пусть, например, требуется в ленте из 3 светодиодов зажечь белым светом средний светодиод. Белому цвету соответствует максимальное значение числа в каждом из трех байтов цвета: $$$R$$$ = $$$G$$$ = $$$B$$$ = 255. Сигнатура для данного примера будет иметь вид(для читабельности байты разделены пробелами): 00000000 0000000 00000000 11111111 11111111 11111111 00000000 0000000 00000000. В шестнадцатеричном виде эта сигнатура становится еще читабельней: 000000 FFFFFF 000000.

Чтобы создать бегущий огонь, нужно сформировать набор сигнатур. Например, белый бегущий огонь слева направо в ленте из трех светодиодов потребует 3 сигнатуры: FFFFFF 000000 000000 000000 FFFFFF 000000 000000 000000 FFFFFF

Программа задачи "Бегущий огонь справа налево" должна генерировать последовательность сигнатур таким образом, чтобы состояние зажигания светодиода заданным цветом перемещалось от одного светодиода к другому справа налево. Считается, что вход ленты находится слева.

Считается, что набор сигнатур передается драйверу, который в соответствии с настройками сам организует периодический процесс и преобразование сигнатур в сигналы.

Входные данные

На вход программы через пробел подаются 4 десятичных числа: число светодиодов в ленте $$$NL$$$ ($$$ 3 \le NL \le 100$$$), яркость красного ($$$0 \le R \le 255$$$), яркость зеленого ($$$0 \le G \le 255$$$) и яркость синего ($$$0 \le B \le 255$$$). На выход выдается $$$NL$$$ сигнатур, по одной на каждой строке в 16-ричном виде.

Выходные данные

$$$NL$$$ строк, каждая из которых содержит соответствующую сигнатуру.

Примеры

Входные данные
4 0 255 0
Выходные данные
000000 000000 000000 00FF00 
000000 000000 00FF00 000000 
000000 00FF00 000000 000000 
00FF00 000000 000000 000000 
Входные данные
4 64 251 24
Выходные данные
000000 000000 000000 40FB18 
000000 000000 40FB18 000000 
000000 40FB18 000000 000000 
40FB18 000000 000000 000000 

Для отправки решений необходимо выполнить вход.

www.contester.ru