Not: Dize sanatı, SE yazı tipi tuhaflığı nedeniyle burada korkunç görünebilir: P :(
Dikdörtgenlerin köşelerini temsil eden dört tüpün bir listesi verildiğinde, saydam dikdörtgenleri bu sırayla üst üste çizin.
Bu meydan okuma için, sol üst köşede en küçük koordinatın olması ve x ekseninin sağa, y ekseninin aşağı doğru artması gerekir.
Dört demet (x0, y0, x1, y1)
veya (x0, x1, y0, y1)
temsil eder (x, y)
, bir dikdörtgenin sol üst ve alt sağ köşesinin koordinatı çiftlerinin (dikdörtgenlerin iki biçimlerinden birini seçebilir fakat tutarlı olmalıdır)
"Yarı saydam dikdörtgen" ile ne demek istiyorum? Bu meydan okuma için, boşluk karakterini ve kutu çizim karakterlerinin çoğunu kullanacaksınız ; özellikle, "kalın" karakterler dahil olmak üzere dikdörtgen çizmek için kullanılanların tümü. Yarı saydam bir dikdörtgen çizildiğinde, önce işgal edilen alandaki tüm ince çizgiler kaybolur ve tüm kalın çizgiler incelir ve sonra dikdörtgenin kendisi kalın çizgilerle çizilir.
Örneğin, sol üstte ve sonra sağ altta bir dikdörtgen çizerseniz, şöyle bir şey olabilir:
┏━━━━┓
┃ ┃
┃ ┃
┃ ┏━━╇━━┓
┃ ┃ │ ┃
┗━╉──┘ ┃
┃ ┃
┃ ┃
┗━━━━━┛
Net olmak gerekirse, çizgiler kesinlikle dikdörtgen içindeki tüm çizgiler için aydınlatılır (kalın -> ince -> yok) (örneğin, alt kenardan değil, üst kenardan aşağıya bakan çizgiler etkilenir).
Test Durumları
Her test durumu için bir dizi girdi satırı ve ardından unicode-art verilecektir.
0 0 5 5
5 5 10 10
3 3 7 7
2 2 8 8
┏━━━━┓
┃ ┃
┃ ┏━━╇━━┓
┃ ┃┌─┴─┐┃
┃ ┃│ │┃
┗━╉┤ ├╊━┓
┃│ │┃ ┃
┃└─┬─┘┃ ┃
┗━━╈━━┛ ┃
┃ ┃
┗━━━━┛
14 5 15 9
13 2 15 16
6 4 15 11
┏━┓
┃ ┃
┏━━━━━━╇━┫
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┗━━━━━━╈━┫
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┗━┛
6 8 10 11
15 12 16 16
14 10 16 16
9 1 15 15
┏━━━━━┓
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┏━━╉┐ ┃
┃ ┃│ ┃
┃ ┃│ ┌╊┓
┗━━╉┘ │┃┃
┃ │┠┨
┃ │┃┃
┃ │┃┃
┗━━━━╈┩┃
┗┷┛
Daha fazla test örneği oluşturun!
kurallar
- Giriş, dört gruptan oluşan bir liste için herhangi bir makul formatta olabilir. Giriş, bir endeksli ya da (örneğin, sol üst köşe herhangi biri olabilir, ya eksen boyunca sıfır endeksli olabilir
(0, 0)
,(0, 1)
,(1, 0)
,(1, 1)
. - Çıktı açıklandığı gibi unicode-art olmalıdır. Çıktının önde gelen satırları olmayabilir ve en fazla bir son satırsonu olabilir (son satırdan sonra). Bu meydan okuma için sondaki boşluk göz ardı edilecektir.
Kod-noktalar
Kalın ve hafif yatay ve dikey borular aralıktadır [U+2500, U+2503]
. Çeşitli köşe boruları aralıktadır [U+250C, U+251C)
. Üç kollu borular menzilde [U+251C, U+253C)
. Dört kollu borular ürün gamında [U+253C, U+254C)
. Programımda bulunabilecek kalan borular hiçbir zaman gerçekte kullanılmaz.
Typically this uses only 95 printable (from a total of 128) characters defined by the ASCII Standard from 1963.