Цель: Цель состоит в том, чтобы взять строку и вывести, сколько вкладов следует сделать в какие дни, чтобы отобразить сообщение.
Спецификация
- вход
- Поддержка букв плюс пробел (то есть
[A-Za-z ]
) - Пространство пустое
3X7
- Буквы определены в этом шрифте DOT Matrix 5x7, указанном ниже.
- Размер каждой буквы - это минимальный ограничивающий прямоугольник (например
l = 3x7
,e = 5x5
)
- Поддержка букв плюс пробел (то есть
- раскраска
- Есть 5 цветов
C0, C1, C2, C3, C4
CX
требуетY
взносов с3X <= y < 3(X+1)
- Письма должны чередоваться
C1
иC2
- Пространства не имеют цвета
- Каждый размер буквы должен перекрывать ровно 1 столбец с соседними буквами
- Если ячейка имеет более одного цвета, используйте
C3
- Есть 5 цветов
- Dot Matrix
- Матрица точек - это граф истории вклада Github
- Если сегодня понедельник, 1 мая 2017 года:
4-30 5-07 5-15
[5-01] 5-08 5-16
5-02 5-09 .
5-03 5-10 .
5-04 5-12 .
5-05 5-13
5-06 5-14
- Выход
- Гибко, как это дается
(x, y)
парыx
дата больше или равна текущей датеy
количество вкладов, сделанных на дату,x
- Должен быть в хронологическом порядке (чтобы я мог заполнить свой календарь)
- Если для каждой даты сделаны
x
указанныеy
вклады, входное сообщение должно отображаться на графике Github (с правильной окраской) - Первое свидание должно быть как можно раньше
- счет
- Кратчайшая программа / функция в байтах побеждает
Алфавит
Создано sylvan.black под CC
Тестовые случаи
Для этих тестовых случаев предположим, что текущая дата 25 мая 2017 года.
Input -> Output
----- ------
l 5-28-17, 3
6-3-17, 3
6-4-17, 3
6-5-17, 3
6-6-17, 3
6-7-17, 3
6-8-17, 3
6-9-17, 3
6-10-17, 3
6-17-17, 3
He 5-28-17, 3
5-29-17, 3
5-30-17, 3
5-31-17, 3
6-1-17, 3
6-2-17, 3
6-3-17, 3
6-7-17, 3
6-14-17, 3
6-21-17, 3
6-25-17, 3
6-26-17, 3
6-27-17, 3
6-28-17, 9
6-29-17, 9
6-30-17, 9
7-1-17, 3
7-4-17, 6
7-6-17, 6
7-8-17, 6
7-11-17, 6
7-13-17, 6
7-15-17, 6
7-18-17, 6
7-20-17, 6
7-22-17, 6
7-26-17, 6
7-27-17, 6
o W 5-31-17, 3
6-1-17, 3
6-2-17, 3
6-6-17, 3
6-10-17, 3
6-13-17, 3
6-17-17, 3
6-20-17, 3
6-24-17, 3
6-28-17, 3
6-29-17, 3
6-30-17, 3
7-9-17, 6
7-10-17, 6
7-11-17, 6
7-12-17, 6
7-13-17, 6
7-14-17, 6
7-22-17, 6
7-26-17, 6
7-27-17, 6
7-28-17, 6
8-5-17, 6
8-6-17, 6
8-7-17, 6
8-8-17, 6
8-9-17, 6
8-10-17, 6
8-11-17, 6
May 20th, 2017: 3
, (3,"20/5/17")
)