Вступ
Напишіть програму для виведення вихідної спіралі відомої панграми за поданими правилами.
Виклик
Панграма цю пропозицію , використовуючи кожну букву даного алфавіту , по крайней мере один раз. Однією з найвідоміших панграмів є та, яка широко використовується в засобі перегляду шрифтів Windows, а саме " Швидка бура лисиця перестрибує ліниву собаку ". Завдання полягає у виведенні спіралі на основі цього тексту.
Ваше завдання виводить саме цей текст:
heeeeellllllllllllazzzzzzzzzzz
hummmmmmmmmmmmmppppppppppppppy
hubrrrrrrrrrrrrrrrrrrooooooosy
hukyddddoooooooooooooooggggwsy
hukyveeeeerrrrrrrrrrrrrrrrtwsy
hukyvxjjjjjjjjjjuuuuuuuuuttwsy
hukyvxkbbrrrrrrrrrrrrrrrmttwsy
hukyvxkogggggggttttttttomttwsy
tukyvokoellllllllllllahomttwsy
tukyvokoeovvvvvvvvvvvzhomttwsy
tukyvocoeoummmmmmmmmezhomttwsy
tukyvocoeoufooooooopezhomttwsy
tukyvocohoufroooooxpezhomttwsy
tukyvoiohoufrquuuwxpezhomttwsy
tucyvoiohoufbqttiwxpezhomttwsy
tucyvoiohoufbeehiwxprzhomttwsy
tucyvoiohoufkccciwxprzeomttwsy
tjiyvoidhounnnnnnwxprzeomttwsy
tjiyvoidhojjjjjjjjxprzeomttwsy
tjiyvoidhssssssssssprzeopttwsy
tjiyvoidttttttttttttrzeopttwsy
tjiyvoiyyyyyyyyyyyyyyzqopttwoy
tjiyvouuuuuuuuuuuuuuuuqwpttwoy
tjiyvffffnnnnnnnnnnnnnnwpttwoy
tjiyossssssssssssssssssspthwoy
tjizzzzalllllllllllleeeeehhwoy
tjuuqqqqqqqqqqqqqqqqqeeeeehnod
txxxxxoooooooooooooooffffffnod
reeeeevvvvvvvvvvvvvvvvvvvvvvod
gggggggoooooooooooooood
Ось як це генерується,
- Була завзята лисиця, яка насолоджувалася панграмою "Швидка бура лисиця перестрибує ледачого собаку". Одного разу він опинився в центрі зовнішньої спіралі і вирішив стрибнути в неї і пофарбувати.
- Він хотів би пройти панграму від початку до кінця, і якщо буква - це п ята літера в алфавіті, він хотів би намалювати її n разів.
- Однак лисиця не дуже добре робила повороти на кутах, тому, дійшовши до кожного кута, йому також довелося зупинитися і перейти до наступного листа.
- Він також вирішив повторити панграма тричі , щоб підкреслити , що він спритна лисиця.
- Ваше завдання - показати, як виглядатиме спіраль після того, як лисиця намалювала всі ці літери.
(Простий варіант без розповіді про історію)
Знаменита панграма "Швидка бура лисиця перестрибує ліниву собаку" повторюється тричі, з пробілами вилучені і всі літери в малому регістрі, щоб створити
thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog
Спіраль починається від центру і починається з літери «t», починається, рухаючись праворуч, і виходить назовні за годинниковою стрілкою. Якщо поточним символом є п ята літера в алфавіті, то він переходить на наступний символ щоразу
- спіраль досягає кута, або
- поточні букви друкуються рівно n разів.
Щоб краще проілюструвати це, я поясню, як генерується спіраль, пов’язана з першими трьома словами "thequickbrown".
rooooo
rquuuw
bqttiw
beehiw
kccciw
nnnnnnw
Лисиця починається від "t", йде праворуч, доходить до 1-го кута, зафарбовує її "t", а потім переходить на "h" і спускається, доходить до 2-го кута, переходить на "e" і йде вліво, доходить до 3-й кут, переходить на "q" і йде вгору, доходить до 4-го кута, переходить на "u" і йде праворуч, доходить до кута і переходить на "i", йде вниз, доходить до кута і переходить на "c", йде ліворуч, успішно малює 3 "c" s, перш ніж дійти до наступного кута , переходить на "k" і продовжує вліво , доходить до кута одразу, переходить на "b" і йде вгору, фарбує 2 "b" s, перш ніж досягти наступний кут переходить на "r"і йде вгору , доходить до кута і переходить на "o", йде праворуч, потім "w", вниз, "n", вліво.
Технічні характеристики
Ви можете взяти додатковий вхід, який містить будь-яку стандартну форму рядка
thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog
Вихід повинен бути відформатований як рядок і повинен переходити до STDOUT замість файлів або STDERR, при цьому правильно розміщуються нові рядки. Заголовок та задні пусті рядки значення не мають. Пробіли в заголовку та кінці в кожному рядку дозволені, але вони повинні бути послідовними. Тож якщо ви додасте 5 пробілів перед одним рядком даного тексту, вам потрібно буде додати рівно 5 пробілів перед кожним рядком, щоб спіраль виглядала однаково.
Це код-гольф , найменша кількість виграних байтів.
Як завжди, тут застосовуються лазівки за замовчуванням .
Пояснення вітаються, хоча не є необхідними.
Назва відредагована, щоб вона стала панграмою за коментарем від caird coinheringaahing.
Ледачий пес занадто ледачий, щоб з’являтися в оповіданні.
Я маю на меті створити рядковий виклик, в якому лист для виведення неможливо обчислити простими функціями координат.