Vous obtenez en entrée un quart de carte symétrique sur les axes x et y. Le programme devrait imprimer la carte complète.
La carte peut contenir les caractères suivants:, -+/\|.
et ils doivent être tournés comme prévu. Les données d'entrée sont toujours rectangulaires et petites.
Exemple
$ cat in
+---
|./.
|/..
$ ./solution < in
+------+
|./..\.|
|/....\|
|\..../|
|.\../.|
+------+
Le code le plus court gagne.
Réponses:
Golfscript - 32 caractères
En raison de la symétrie du problème, nous répétons deux fois {flip horizontalement, transpose (
zip
)}. En prime, vous pouvez changer la valeur2
en un plus grand nombre pour répéter davantage l'image.La transposition des caractères se fait en
x^=155 if x%3==2
raison de l'espace restreint des caractères. Il y a aussi{.5^3%(45+}
à la même longueur.la source
Canevas ,
54 octetsPremière réponse Canvas, commençons donc par une réponse simple. :)
-1 octet grâce à @dzaima .
Les barres obliques sont automatiquement converties lors de la mise en miroir ou de la rotation dans Canvas.
Cela aurait pu être 1 octet
╬
( essayez-le en ligne ), mais malheureusement, il transforme également les points.
en guillemets simples'
lors de la mise en miroir horizontale.Essayez-le en ligne.
Explication:
la source
Windows PowerShell, 99
103117126129Remarques:
Tester:
Histoire
OFS
pour enregistrer le-join
et stocké99..0
dans une variable.-replace
travaille contre les tableaux, donc je ne suis pas besoin de trois-replace
s mais peut faire-split
,-replace
, à la-join
place.$a
car je ne l'99..0
utilise plus souvent à ce jour.filter
définition. Supprimé$x
et collectant à la place chaque ligne lors de la première exécution dans un tableau, puis la sortie pour la seconde moitié.la source
Rubis -
8887 caractèresEssai
la source
APL (Dyalog Classic) ,
2523222119 octetsEssayez-le en ligne!
la source
Fusain ,
54 octets-1 octet grâce à @Neil .
Le charbon de bois gère automatiquement la réflexion des barres obliques correctement.
Essayez-le en ligne (verbeux) ou essayez-le en ligne (pur) .
Explication:
Prenez l'entrée comme une chaîne:
Réfléchissez-le à la fois vers la droite et vers le bas (
:⌈
est intégré:Right, :Down
):la source
⌈
ce qui vous donne droit et bas dans un seul octet.⌈
le code verbeux?:RightDown
ne sera bien sûr pas le résultat souhaité.:
préfixe en mode verbeux.:Right:Down
, ou::RightDown
, ou autre chose? Cependant, aucun de ces deux résultats ne donnera un⌈
dans la version codée avec l'-vl
argument. Que deviendrait le code détaillé pour obtenirS‖M⌈
en utilisant l'-vl
argument?ReflectMirror(:⌈)
Perl, 80 caractères
la source
Shell Scripting !!
E / S
la source
CJam, 26 octets
CJam est plus récent que ce défi, donc cette réponse n'est pas éligible pour la coche verte, mais c'était quand même un exercice amusant
Testez-le ici.
Explication
La transposition à la fin entraîne le deuxième retournement à effectuer le long des colonnes. À la fin, nous transposons à nouveau la carte, nous nous retrouvons donc avec l'orientation d'origine.
la source
Powershell, 95 octets
Inspiré par la réponse de Joey .
Remarque:
40
parce que l'auteur poste le commentaireLet's say the input is at most 16 rows and 40 characters
.Script de test:
Production:
la source
Rubis - 105
la source
Golfscript - 44 caractères
résultat
Un autre script qui ne fonctionne que par exemple et ne retourne pas pour '\' - 32 caractères
résultat
la source
Haskell , 76 octets
Essayez-le en ligne!
la source
MS-SQL 2017, 243 octets
entrée :
compressé :
lisible par l'homme :
sortie (sous forme de texte dans ex.management studio):
la source