Ambil bendera, seperti ini:
-----------------------------
| | |
| | |
|=============+=============|
| | |
| | |
-----------------------------
Dan sejumlah input: "panjang gelombang"
Katakanlah panjang gelombangnya adalah 5. Kemudian, setiap 5 karakter di sepanjang garis dari awal, ganti karakter berikutnya -
dengan \
dan geser semua karakter setelah satu baris ke bawah. Ulangi ini sampai akhir. Anda berakhir dengan:
-----\
| -----\
| -----\
|===== | -----\
| ====== | -----
| ==+=== |
-----\ | ====== |
-----\ | ====|
-----\ |
-----\ |
-----
Jika pada akhirnya Anda tidak bisa membuat panjang gelombang penuh, bendera telah selesai. Tetap datar sampai akhir.
Anda dapat mengasumsikan bahwa semua garis memiliki panjang yang sama dan bahwa garis atas dan bawah seluruhnya terdiri dari -
(0x2D) dan sisa karakter berada di !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
, atau merupakan spasi ( ). (Jadi nilai ascii adalah
x
, di mana 31 < x < 127
)
Bendera akan setidaknya 3 tinggi dan 3 lebar.
Panjang gelombang akan menjadi bilangan bulat non-negatif (> = 0).
(Anda juga dapat memiliki panjang gelombang 1 menjadi panjang gelombang terkecil, jadi contoh di atas akan memiliki panjang gelombang 6. Ini OK.)
I / o flag Anda dapat berupa array garis atau string dengan banyak garis.
Bendera keluaran mungkin memiliki spasi tambahan, tetapi hanya dapat memiliki spasi awal asalkan sama pada setiap bendera. Trailing space pada flag input dapat dihapus.
Mencetak gol
Ini adalah kode-golf, jadi solusi tersingkat, dalam byte, menang.
Uji kasus
---
abc
---
2
--\
abc
--\
-----
| + |
-----
10
-----
| + |
-----
---------------------------------------
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& |\| |/| &&&&&&|
|&&&&&& .--' '--. &&&&&&|
|&&&&&& \ / &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
---------------------------------------
12
------------\
|&&&&&& ------------\
|&&&&&& ------------\
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& . |\| |/| &&&&&&|
|&&&&&& --' '-- &&&&&&|
|&&&&&& \ /. &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
------------\ &&&&&&|
------------\ &&&&&&|
------------\
-----------------------
|-._`-._ :| |: _.-'_.-|
| `-._`:| |:`_.-' |
|-------`-' '-'-------|
|------_.-. .-._------|
| _.-'_.:| |:._`-._ |
|-'_.-' :| |: `-._`-|
-----------------------
4
----\
|-._`----\
| `-._ :----\
|-----._`:| |: ----\
|-------`-| |:`_.-'_---
| _.--_.-' '-'_.-' .-|
|-'_.-'_.:. .-.----- |
----\-' :| |:._------|
----\| |: _`-._--|
----\ `-._ |
----\`-|
---
---------------
---------------
---------------
---------------
---------------
5
-----\
-----------\
---------------
---------------
-----\---------
-----\---
---
-------------------------------------------
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
|--------------- |
|#########################################|
| |
|#########################################|
| |
|#########################################|
-------------------------------------------
0
\
|\
|*\
| \
|** \
| *\
|** \
| ** \
|** *\
|- ** \
|#- ** \
| #-** *\
|# #- ** \
| # #- ** \
\# # #-** *\
\# # #- ** \
\# # #- **|\
\# # #-** |#\
\# # #- **| #\
\# # #- |# #\
\# # #-**| # #\
\# # #- |# # #\
\# # #-| # # #\
\# # #-# # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # |
\# # # # # #|
\# # # # # |
\# # # # #|
\# # # # |
\# # # #|
\# # # |
\# # #|
\# # |
\# #|
\# |
\#|
\|
\
sumber
Jawaban:
05AB1E ,
25232625 byteTerima kasih kepada Adnan
-1 terima kasih kepada Emigna
+3 terima kasih kepada Jonathan Allan (terima kasih telah meluangkan waktu untuk menangkap ketidakabsahan itu!)
Cobalah online!
Ini adalah 1-diindeks bukannya 0, +2 byte jika itu tidak apa-apa.
Emigna / Adnan / Siapa pun - TELAH ada solusi yang lebih baik untuk mengganti slant-slant itu, tapi saya bingung.
sumber
ú
sama sepertið×ì
:)Pyth , 35 byte
Cobalah online!
sumber
Python 2 , 129 byte
Cobalah online!
sumber
Jelly , 29 byte
Bendera input dan output adalah daftar garis.
Panjang gelombang adalah 1-diindeks.
Selalu menghasilkan satu baris ruang.
(semua hal di atas secara eksplisit diizinkan dalam pertanyaan yang diposting)
Cobalah online! (footer untuk membuat IO terlihat cantik - mengambil dan menerima flag sebagai teks multiline)
Bagaimana?
Metode yang sangat mirip dengan jawaban 05ab1e carusocomputing , yang saya belum berhasil turunkan lagi.
sumber
MATL , 31 byte
Cobalah online! Atau verifikasi semua kasus uji: 1 , 2 , 3 , 4 , 5 , 6 , 7 .
sumber
-
dengan[\]
?JavaScript (ES6), 175 byte
I / O adalah sebagai string yang dibatasi-baris baru. Output mencakup baris baru terkemuka; ini dapat dihapus dengan biaya 3 byte. Saya mencoba menghitung string output secara langsung tetapi itu membuat saya ... 176 byte:
I / O adalah sebagai array string.
sumber
PHP,
168 164 187 172 167 153 150 152149 bytemengambil flag dari file statis
a
dan panjang gelombang (minimal 1) dari STDIN.Jalankan sebagai pipa dengan
php -nr
atau coba online .kerusakan
sumber
$z&&$z!=$r-1
harus setara dengan$z%($r-1)
penghematan 3 byte.