ลองแมปสตริงบางส่วนกับสเปซ 2 มิติสไตล์แฟร็กทัล งานของคุณคือการคำนวณโค้งฮิลแบร์ตและวางสายตาม
งาน
ภารกิจคือการใช้สตริงอินพุตบรรทัดเดียวและวางโครงร่างตามแนวโค้งของฮิลแบร์ตใหญ่พอที่จะเก็บไว้ แต่ไม่ใหญ่กว่า พยายามทำให้จำนวนไบต์น้อยที่สุดเท่าที่จะเป็นไปได้ นี่คือ รหัส - กอล์ฟหลังจากทั้งหมด!
เงื่อนไข
- ช่องว่างใด ๆ ที่จะถูกเสริมด้วยช่องว่าง แต่ไม่จำเป็นต้องใช้ช่องว่างภายในท้ายบรรทัด
- จุดเริ่มต้นของบรรทัดควรอยู่ที่มุมบนซ้ายและจุดสิ้นสุดที่มุมล่างซ้าย
- คุณสามารถสร้างโปรแกรมหรือฟังก์ชั่น
- อาจมีกรณีทดสอบใหม่ปรากฏขึ้นดังนั้นอย่าฮาร์ดโค้ดอะไรเลย!
โบนัส
หมายเหตุ: โบนัสสแต็คเช่นนี้-50% & -20% on 100B
= -20% on 50B
หรือ=-50% on 80B
40B
- -50% ถ้าอินพุตเป็นสตริงหลายบรรทัดให้ย้อนกระบวนการเพื่อสร้างอินพุตดั้งเดิม กรณีทดสอบสำหรับโบนัส: เพียงใช้กรณีที่มีอยู่ (รวมถึงกรณีทดสอบโบนัส!)
- -20% หากคุณตัดช่องว่างที่ไม่จำเป็นออกจากเอาต์พุต (เช่นที่ส่วนท้ายของบรรทัด)
- -5% ถ้าคุณไม่สร้างมลภาวะให้กับ namespace ทั่วโลก (คุณรู้ว่าฉันหมายถึงอะไร!)
กรณีทดสอบ
abcdefghijklmn
adef
bchg
nij
mlk
The quick brown fox jumps over the lazy dog.
Thn f ju
ewooxpm
qckr rs
ui btevo
hlaz
e y
do
.g
และสำหรับโบนัส whitespace-stripping:
No hitespac her
Noher
hesc
itpa
ลีดเดอร์บอร์ด
เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้:
# Language Name, N bytes
ที่N
มีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในบรรทัดแรกโดยการตีพวกเขาผ่าน ตัวอย่างเช่น
# Ruby, <s>104</s> <s>101</s> 96 bytes
หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ (เช่นเนื่องจากคะแนนของคุณคือผลรวมของไฟล์สองไฟล์หรือคุณต้องการแสดงรายการบทลงโทษการตั้งค่าสถานะของล่ามแยกต่างหาก) ตรวจสอบให้แน่ใจว่าคะแนนจริงเป็นตัวเลขสุดท้ายในส่วนหัว:
# Perl, 43 + 2 (-p flag) = 45 bytes
นอกจากนี้คุณยังสามารถตั้งชื่อภาษาให้เป็นลิงค์ซึ่งจะปรากฏในตัวอย่างกระดานแต้มนำ:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
No..hitespac..her.
จุดที่เป็นช่องว่างจะเป็นกรณีทดสอบที่ดีกว่าสำหรับโบนัส (และปัจจุบันกรณีทดสอบขาดการติดตาม.
)