Создайте программу, которая берет длину и список интервалов и выводит линейку этой длины с более длинными галочками для каждого интервала, используя символы рисования линий ┌ ┬ ┐ │ ╵
- Первая строка вывода должна начинаться с отметки 0 с
┌
и заканчиваться галочкой для длины с┐
,┬
используемой для каждого символа между ними. Всегоlength
в этом первом ряду будет + 1 символ рисования линий. - Тик должен быть удлинен по вертикали на полсимвольные приращения с использованием
╵
и│
на основе интервалов ввода. - Интервалы перечислены от наименьшего к наибольшему относительно интервала перед ним. Разработать:
- Первый интервал сообщает, сколько базовых тиков (первая строка - один символ на тик) находятся во втором наименьшем интервале (наименьший интервал равен 1). Например, [3] будет удлинять каждый третий тик на половину символа.
- Второй и последующие интервалы соответствуют следующему наименьшему интервалу. Например, [3, 5] будет удлинять каждый 15-й базовый тик на полный символ, а [3, 5, 2] будет удлиняться на каждый 30-й базовый тик на полтора символа.
- Подинтервал 1 действителен и фактически означает, что последние строки интервала удлиняются на полный символ вместо полусимвола.
- Примеры тестов должны помочь уточнить, как это работает.
Примеры / Тестовые случаи
3, []:
┌┬┬┐
9, [3]:
┌┬┬┬┬┬┬┬┬┐
╵ ╵ ╵ ╵
30, [5, 2]:
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ │ ╵ │ ╵ │
32, [4, 2, 2, 2]:
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ │ ╵ │ ╵ │ ╵ │
│ ╵ │
48, [5, 3, 2]
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ ╵ │ ╵ ╵ │ ╵ ╵ │
╵ ╵
24, [7, 3]
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ ╵ │
17, [3, 2, 1]
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ │ ╵ │ ╵
╵ ╵ ╵
1, [23, 19, 13, 11, 7, 5, 3, 2, 1]
┌┐
│
│
│
│
╵
Другие правила / примечания
- Ввод и вывод может использовать любой удобный формат
- Правитель не должен заканчиваться на главном тике
- Список интервалов может быть пустым
- Нулевой тик всегда во всех интервалах.
- Можно предположить, что длина линейки и интервалы всегда будут положительными целыми числами меньше 120
- Конечный пробел - это хорошо, но ведущий пробел - нет.
- Любой пробел с фиксированной шириной в одну допускается как пробел, если вы по какой-то причине хотите использовать что-то кроме пробелов ASCII.
Счастливого гольфа!