+ - + + - + | | + - + + - + | | | | | | | | + - + + - + + - + + - +
Жители ASCIIville восстанавливают свой город и набрасывают новые чертежи. Ваша задача - нарисовать их новый город, исходя из того, сколько зданий они хотят.
Входом будет количество зданий. Каждое здание имеет половину высоты входа (округляется, если нечетное), не включая верх и низ здания.
Давайте нарисуем базовый пример 4
+ - + + - + + - + + - + | | | | | | | | | | | | | | | | + - + + - + + - + + - +
Как вы можете видеть здесь, |
в каждом здании есть два s, потому что входное значение было четыре. Но есть подвох! (имеется в виду, что приведенный выше пример неверен, и пример в верхней части этого поста является реальным выводом для 4)
Для каждого здания, которое не является простым числом, его высота уменьшается на единицу. Если число делится на 3 , 5 или 10 , оно уменьшается еще на один. Если он делится на два или более из этих чисел, вычитаемая сумма складывается ( 10 делится на 10 и 5, и это не простое число, поэтому оно вычитается на 3 ).
Давайте посмотрим на пример с входом 5
.
+ - + + - + | | + - + + - + + - + | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - +
Вот пример 7
+ - + + - + + - + | | + - + + - + + - + | | | | | | | | | | | | + - + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - + + - + + - +
И пример 10
+ - + + - + + - + | | + - + + - + + - + | | + - + | | | | | | | | | | + - + | | | | + - + | | | | | | | | | | | | | | | | | | + - + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - + + - + + - + + - + + - + + - +
И вернемся к 6
+ - + + - + | | + - + + - + + - + | | | | | | | | | | + - + | | | | | | | | | | | | + - + + - + + - + + - + + - + + - +
Правила:
- Если число вычитается настолько сильно, что его высота меньше или равна нулю, оно не отображается, но для него оставлено место (я не верю, что это возможно,
6
является ли это ближайшим к нулю значением) , - Промежуточные пробелы разрешены.
- Ширина каждого здания должна быть 2.
- Ваш ввод может быть из стандартного ввода или закодирован в программу.
- Ваша программа должна быть полной программой , без функций.
- Ваша программа должна уметь 4-15 сборок. 0-3 и отрицательные числа не нужны и не предназначены для каких-либо действий, то есть они могут выдавать ошибку, выводить мусор или ничего не делать.