Prenez un drapeau, comme celui-ci:
-----------------------------
| | |
| | |
|=============+=============|
| | |
| | |
-----------------------------
Et une entrée numérique: la "longueur d'onde"
Dites la longueur d'onde est 5. Ensuite, tous les 5 caractères le long de la ligne depuis le début, remplacer le caractère suivant un -
avec \
et décalent tous les personnages après une ligne vers le bas. Répétez cette opération jusqu'à la fin. Vous vous retrouvez avec:
-----\
| -----\
| -----\
|===== | -----\
| ====== | -----
| ==+=== |
-----\ | ====== |
-----\ | ====|
-----\ |
-----\ |
-----
Si vous ne parvenez pas à faire une longueur d'onde complète à la fin, le drapeau est terminé. Restez à plat jusqu'à la fin.
Vous pouvez supposer que toutes les lignes sont de la même longueur et que les lignes du haut et du bas sont entièrement composées de -
(0x2D) et que le reste des caractères est dans !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
, ou est un espace ( ). (Donc, c'est la valeur ascii est
x
, où 31 < x < 127
)
Le drapeau sera au moins 3 de haut et 3 de large.
La longueur d'onde sera un entier non négatif (> = 0).
(Vous pouvez également avoir la longueur d'onde 1 comme la plus petite longueur d'onde, donc l'exemple ci-dessus aurait la longueur d'onde 6. C'est OK.)
Votre entrée / sortie d'indicateur peut être un tableau de lignes ou une chaîne de plusieurs lignes.
L'indicateur de sortie peut avoir des espaces de fin, mais ne peut avoir que des espaces de début tant qu'il est le même sur chaque indicateur. L'espace de fin d'un indicateur d'entrée peut être supprimé.
Notation
C'est le code-golf, donc la solution la plus courte, en octets, l'emporte.
Cas de test
---
abc
---
2
--\
abc
--\
-----
| + |
-----
10
-----
| + |
-----
---------------------------------------
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& |\| |/| &&&&&&|
|&&&&&& .--' '--. &&&&&&|
|&&&&&& \ / &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
---------------------------------------
12
------------\
|&&&&&& ------------\
|&&&&&& ------------\
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& . |\| |/| &&&&&&|
|&&&&&& --' '-- &&&&&&|
|&&&&&& \ /. &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
------------\ &&&&&&|
------------\ &&&&&&|
------------\
-----------------------
|-._`-._ :| |: _.-'_.-|
| `-._`:| |:`_.-' |
|-------`-' '-'-------|
|------_.-. .-._------|
| _.-'_.:| |:._`-._ |
|-'_.-' :| |: `-._`-|
-----------------------
4
----\
|-._`----\
| `-._ :----\
|-----._`:| |: ----\
|-------`-| |:`_.-'_---
| _.--_.-' '-'_.-' .-|
|-'_.-'_.:. .-.----- |
----\-' :| |:._------|
----\| |: _`-._--|
----\ `-._ |
----\`-|
---
---------------
---------------
---------------
---------------
---------------
5
-----\
-----------\
---------------
---------------
-----\---------
-----\---
---
-------------------------------------------
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
|--------------- |
|#########################################|
| |
|#########################################|
| |
|#########################################|
-------------------------------------------
0
\
|\
|*\
| \
|** \
| *\
|** \
| ** \
|** *\
|- ** \
|#- ** \
| #-** *\
|# #- ** \
| # #- ** \
\# # #-** *\
\# # #- ** \
\# # #- **|\
\# # #-** |#\
\# # #- **| #\
\# # #- |# #\
\# # #-**| # #\
\# # #- |# # #\
\# # #-| # # #\
\# # #-# # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # |
\# # # # # #|
\# # # # # |
\# # # # #|
\# # # # |
\# # # #|
\# # # |
\# # #|
\# # |
\# #|
\# |
\#|
\|
\
Réponses:
05AB1E ,
25232625 octets-2 merci à Adnan
-1 grâce à Emigna
+3 merci à Jonathan Allan (merci d'avoir passé du temps à rattraper cette invalidité!)
Essayez-le en ligne!
Ceci est indexé 1 au lieu de 0, +2 octets si ce n'est pas correct.
Emigna / Adnan / Anyone - Il doit y avoir une meilleure solution pour remplacer ces inclinaisons, mais je suis perplexe.
la source
ú
est le même queð×ì
:)Pyth , 35 octets
Essayez-le en ligne!
la source
Python 2 , 129 octets
Essayez-le en ligne!
la source
Gelée , 29 octets
Les drapeaux d'entrée et de sortie sont des listes de lignes.
La longueur d'onde est indexée sur 1.
Produit toujours une ligne d'espaces.
(tout ce qui précède est explicitement autorisé dans la question publiée)
Essayez-le en ligne! (pied de page pour rendre IO joli - prend et reçoit des drapeaux sous forme de texte multiligne)
Comment?
Une méthode assez similaire à la réponse 05ab1e de carusocomputing , que je n'ai pas réussi à approfondir .
la source
MATL , 31 octets
Essayez-le en ligne! Ou vérifiez tous les cas de test: 1 , 2 , 3 , 4 , 5 , 6 , 7 .
la source
-
par le[\]
?JavaScript (ES6), 175 octets
Les E / S sont une chaîne délimitée par des sauts de ligne. La sortie comprend une nouvelle ligne de premier plan; cela peut être supprimé au coût de 3 octets. J'ai essayé de calculer directement la chaîne de sortie mais cela m'a pris ... 176 octets:
Les E / S sont un tableau de chaînes.
la source
PHP,
168 164 187 172 167 153 150 152149 149 octetsprend le drapeau du fichier statique
a
et la longueur d'onde (minimum 1) de STDIN.Exécuter en tant que pipe avec
php -nr
ou l' essayer en ligne .panne
la source
$z&&$z!=$r-1
devrait être équivalent à$z%($r-1)
enregistrer 3 octets.