note: string art mungkin terlihat mengerikan di sini karena keanehan font SE: P :(
Diberikan daftar empat tupel yang mewakili sudut-sudut persegi panjang, gambarkan persegi panjang transparan satu sama lain dalam urutan itu.
Untuk tantangan ini, Anda harus memiliki koordinat terkecil di sudut kiri atas dan sumbu x meningkat ke kanan dan sumbu y meningkat ke bawah.
Tupel empat (x0, y0, x1, y1)
atau (x0, x1, y0, y1)
mewakili (x, y)
pasangan koordinat sudut kiri atas dan kanan bawah dari sebuah persegi panjang (Anda dapat memilih salah satu dari dua format untuk persegi panjang tetapi harus konsisten)
Apa yang saya maksud dengan "persegi panjang transparan"? Nah, untuk tantangan ini, Anda akan menggunakan karakter spasi dan sebagian besar karakter menggambar kotak ; khususnya, semua yang digunakan untuk menggambar persegi panjang, termasuk karakter "tebal". Ketika sebuah persegi panjang transparan digambar, pertama semua garis tipis di ruang yang ditempati menghilang dan semua garis tebal menjadi tipis, dan kemudian persegi panjang itu sendiri ditarik ke atas dalam garis tebal.
Misalnya, jika Anda menggambar persegi panjang di kiri atas dan kemudian di kanan bawah, itu mungkin terlihat seperti ini:
┏━━━━┓
┃ ┃
┃ ┃
┃ ┏━━╇━━┓
┃ ┃ │ ┃
┗━╉──┘ ┃
┃ ┃
┃ ┃
┗━━━━━┛
Untuk menjadi jelas, garis-garis menjadi terang (tebal -> tipis -> tidak ada) untuk semua garis secara ketat di dalam persegi panjang (misalnya, garis yang menghadap ke bawah dipengaruhi untuk tepi atas tetapi bukan tepi bawah).
Uji Kasus
Beberapa baris input akan diberikan, diikuti oleh unicode-art, untuk setiap test case.
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
┏━━━━━┓
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┏━━╉┐ ┃
┃ ┃│ ┃
┃ ┃│ ┌╊┓
┗━━╉┘ │┃┃
┃ │┠┨
┃ │┃┃
┃ │┃┃
┗━━━━╈┩┃
┗┷┛
Hasilkan lebih banyak kasus uji!
Aturan
- Input dapat dalam format apa pun yang masuk akal untuk daftar empat-tupel. Input dapat menjadi salah satu-diindeks atau nol-diindeks bersama baik sumbu (yaitu sudut kiri atas dapat salah satu dari
(0, 0)
,(0, 1)
,(1, 0)
,(1, 1)
. - Output harus berupa unicode-art seperti yang dijelaskan. Output mungkin tidak memiliki baris baru dan dapat memiliki paling banyak satu baris setelah baris (setelah baris terakhir). Trailing whitespace akan diabaikan untuk tujuan tantangan ini.
Poin kode
Pipa horizontal dan vertikal yang tebal dan terang berada dalam jangkauan [U+2500, U+2503]
. Berbagai pipa sudut berada dalam jangkauan [U+250C, U+251C)
. Pipa tiga-bersenjata berada dalam jangkauan [U+251C, U+253C)
. Pipa empat-bersenjata berada di kisaran [U+253C, U+254C)
. Pipa yang tersisa yang dapat ditemukan dalam program saya tidak pernah benar-benar digunakan.
Typically this uses only 95 printable (from a total of 128) characters defined by the ASCII Standard from 1963.