Задача состоит в том, чтобы следовать (нарисовать) путь:
^n
- вверх на n строкvn
- вниз на n строк>n
- справа на n позиций символов<n
- оставлено n символов позиций
n
является целым числом, большим нуля (т.е. вы не можете получить такую команду, как>-2
).- Между командами нет разделителей, правильно сформированный ввод выглядит так:
>5v8<10^3
никакая другая форма ввода не допускается. - Количество команд не ограничено.
- Предполагается, что больше символов не должно проникать во вход.
Примеры.
Ввод - пустая строка, вывод:
*
Ввод либо :
>3
или<3
: обратите внимание, что это не имеет никакого значения для вывода:****
Аналогично для
^3
иv3
:* * * *
Вход:,
>1v2
выход:** * *
Вход:,
^4>3v2<1
выход:**** * * * ** * *
Если вы вернетесь и будете использовать тот же путь, не рисуйте ничего нового. Например
>5<5
******
... хотя вы не рисуете ничего нового, вы явно меняете позицию. Следовательно, если ваш ввод выглядит следующим образом:,
>4<2v3
вывод:***** * * *
Это более сложный пример: 1) путь может пересекаться сам 2) обратите внимание, что последние три шага последней команды сдвигают весь путь вправо. Вход:,
v6>4^3<7
выход:* * * ******** * * * * *****
Вход :
^2v2>3<3v3>4^5v5>3^5>4v2<4v3>4^3v3>3^5>4v2<4v3>7^5>4v2<4v3>9^3<2^2v2>4^2v2<2v3>8^5>2v4>2^4v5<3>6^5>5<5v2>5<5v2>5<4v1>8^3<1^2v2>1v2>2^3v3>2^2>1^2v2<1v3<3>11^3<2^2v2>4^2v2<2v3>5^5>5<5v2>5<5v2>5<4v1>7^5>4v2<4v3>4^3v3>3^5>4v2<3v1<1v2>3^1>1v1
Выход:
* * ***** ***** ***** * * *** * ****** * * * * ****** ***** ***** * * * * * * * * * * * * * * * * * * * * * * * * ***** ***** ***** ***** ***** * * * ****** ** * ** ***** ****** ***** ***** * * * * * * * * * * * * * * * * * * ** * * * * * * * * *** ****** ***** * ****** * * * ** *******************************************************************************************
^2v2>3<3v3>4^5v5>3^5>4v2<4v3>4^3v3>3^5>4v2<4v3>7^5>4v2<4v3>9^3<2^2v2>4^2v2<2v3>8^5>2v4>2^4v5<3>6^5>5<5v2>5<5v2>5<4v1>8^3<1^2v2>1v2>2^3v3>2^2>1^2v2<1v3<3>11^3<2^2v2>4^2v2<2v3>5^5>5<5v2>5<5v2>5<4v1>7^5>4v2<4v3>4^3v3>3^5>4v2<3v1<1v2>3^1>1v1
.