Problem
Gegebene Eingabe, a
wobei a ein Zeichenraster in einem beliebigen Eingabeformat ist, solange es nur ein Element für jeden 'Block' der Ausgabe enthält.
Und Eingabe, b
wobei b ein Raster von Zahlen ist, die dieselbe Größe wie die Eingabe haben a
.
Es gibt zwei Arten von Straßen: Eine 1 steht für eine mit gekennzeichnete Steinstraße @
und eine 2 für eine unbefestigte Straße#
- Eine
@
Straße ist im Block zentriert und hat die Größe 6 x 6. Wenn eine Straße benachbart ist, wird diese Seite bis zur Gitterzellengrenze verlängert - Eine
#
im Block zentrierte Straße hat die Größe 4x4. Wenn eine Straße benachbart ist, wird diese Seite bis zur Gitterzellengrenze verlängert
Geben Sie einen Rasterversatz um die Zeilennummer 8x8 des ASCII-Zeichens in der Eingabe aus a
und überlagern Sie eine 'Straße' von der Eingabe, b
z
Eingang a=[[a,b,a],[b,a,b],[a,b,a]] b=[[1,1,1],[2,0,1],[2,0,0]]
Ausgabe:
Schritt 1: das Raster (8x8 Darstellung der Eingabe a
)
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
Schritt 2: Überlagerung mit Straßen, dargestellt durch b
:
aaaaaaaabbbbbbbbaaaaaaaa
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@abbbbbbbba@@@@@@a
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaabbbbbbbb
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
Schritt 3: Versetzen Sie jede Zeile mit der Leinennummer:
aaaaaaaabbbbbbbbaaaaaaaa
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@abbbbbbbba@@@@@@a
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaabbbbbbbb
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
Regeln:
- Führende Leerzeichen oder Zeilenumbrüche sind zulässig.
- Nachgestellte Leerzeichen und Zeilenumbrüche sind zulässig.
- Dies ist Code-Golf, also gewinnt der kürzeste Code
Hier ist ein zusätzlicher Testfall mit allen Randfällen, die mir einfallen.
a
kleiner als das Arrayb
.['.', ',', '.', ',', '.', ',', '.']
, aber die Ausgabe ist wie diese Zeile[',', '.', ',', '.', ',', '.', ',']
. Was verhindert, dass Sie dies als Ausgabe Ihres Testfalls haben: gist.github.com/anonymous/dfcf3b754464f3ca4394d34e9f3bf123 Beachten Sie, dass die zweite 1 aus der ersten Zeile von Eingabe b neben zwei 2 liegt. Warum haben Sie sich entschieden, es nur mit den ersten 2 (in derselben Zeile) zu verbinden?Antworten:
JavaScript (ES6), 250 bis
207ByteFehlerbehebung bearbeiten :(
Eine Funktion, die Eingaben in der Curry-Syntax (a) (b) übernimmt.
Weniger Golf gespielt
Prüfung
quelle
PHP 857 Bytes
Nicht wirklich das, was man als "Golf" bezeichnen könnte, aber da sonst niemand etwas eingegeben zu haben scheint, dachte ich, dies sei ein Anfang. Es ist massiv, aber es scheint zu funktionieren. Ich werde mich bemühen, morgen Golf zu spielen, wenn ich Zeit habe.
Testfall
Ausgabe
Testfall
Ausgabe
Testfall
Ausgabe
quelle
Java - 661 Bytes
Hallo! Dies ist meine erste Einreichung hier. Wenn ich etwas falsch gemacht habe, sag es mir bitte.
Sie können es hier versuchen :)
Nicht minimiert:
quelle
and
s für ein paar Bytes in bitweisesand
s ändern&&
->&
.c='#',d=6,e=1
, können Sie das else `else {c = '#'; e = 1; d = 6;}`JavaScript - 299 Bytes
Probieren Sie es hier aus
quelle
PHP,
275 268 266 264252 BytesNimmt Eingaben von GET-Parametern entgegen
a
undb
druckt in STDOUT. Probieren Sie es online aus.Nervenzusammenbruch
quelle