การรวมใบหน้าคิวบ์แบบลูกบาศก์ด้วยตนเองนั้นเป็นเรื่องที่น่าเบื่อและใช้เวลานานและ sorta ก็เหมือนกับการเขียนโค้ดในแบบลูกบาศก์
ในcubifier ที่มีประสิทธิภาพที่สุดฉันขอให้คุณแปล ASCII เป็นแหล่งข้อมูลแบบลูกบาศก์ หนึ่งในคำตอบนั้นใช้ลำดับการกำหนดค่าเริ่มต้นของคิวบ์จากนั้นปรับเปลี่ยนคิวบ์ผลลัพธ์ตามจำนวนผลรวมของคิวบ์ที่กำหนดค่าเริ่มต้นไว้ล่วงหน้า วิธีนี้ถูกใช้ในโปรแกรมที่เกี่ยวข้องกับผู้ใช้หลายคนตั้งแต่ Cubically เมื่อทำการทดสอบลำดับการกำหนดค่าเริ่มต้นใหม่เราต้องเพิ่มค่าทั้งหมดบนใบหน้าทั้งหมดซึ่งโดยปกติจะใช้เวลาสองหรือสามนาที
งานของคุณคือทำให้กระบวนการนี้เป็นอัตโนมัติสำหรับเรา!
คุณจะใช้เวลาสองปัจจัยการผลิตเป็นจำนวนเต็มและสตริงn
c
สิ่งเหล่านี้อาจอ่านได้จากอาร์กิวเมนต์บรรทัดคำสั่งอาร์กิวเมนต์ฟังก์ชันอินพุตมาตรฐานไฟล์หรือการรวมกันของสิ่งเหล่านั้น c
จะเป็นคิวบ์หน่วยความจำแบบลูกบาศก์ขนาดn
ตามที่พิมพ์โดยนักแปล
ล่าม Cubically จะทิ้ง cube ไว้ที่ STDERR เมื่อมีการยกเลิกโปรแกรมซึ่งจัดรูปแบบไว้อย่างดีเพื่อการดูที่ง่าย รันโปรแกรมว่างในตัวแปล Cubicallyและเปิดส่วนดีบักเพื่อดูการถ่ายโอนข้อมูลคิวบ์ของคิวบ์เริ่มต้น เพิ่มอาร์กิวเมนต์4
เพื่อดู 4x4x4 หรือ5
ดู 5x5x5 เป็นต้น
หากn
เป็น 3 c
จะเป็นไปตามรูปแบบนี้ (จำนวนเต็มจะเป็นตัวแปร):
000
000
000
111222333444
111222333444
111222333444
555
555
555
ช่องว่างการขึ้นบรรทัดใหม่และทั้งหมด ถ้าn
เป็น 4 c
จะมีลักษณะเช่นนี้ (เช่นเดียวกับจำนวนเต็มตัวแปร):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
เป็นต้น
โปรแกรมของคุณจะแสดงผลเป็นจำนวนเต็มหกจำนวน จำนวนเต็มแรกจะเป็นผลรวมของตัวเลขทั้งหมดที่อยู่ด้านบนสุด
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
จำนวนเต็มที่สองจะเป็นผลรวมของใบหน้าด้านซ้าย, ด้านหน้าที่สาม, สี่ด้านขวา, ด้านหลังที่ห้าและด้านหลังที่หก
ดังนั้นถ้าn
เป็น 3 และc
นี่คือ:
242
202
242
000131555313
010121535343
000131555313
424
454
424
20 1 14 43 24 33
โปรแกรมของคุณจะเอาท์พุท
กฎเพิ่มเติม:
- จำนวนเต็มเอาต์พุตต้องถูกคั่นด้วยอักขระที่ไม่ใช่จำนวนเต็ม คุณอาจเลือกที่จะคืนค่าอาร์เรย์
- คุณอาจจะคิดว่าการป้อนข้อมูลที่ถูกต้อง -
n
เป็นจำนวนเต็มและc
เป็นก้อนจากการส่งออกการแก้จุดบกพร่องของ Cubically ดังนั้นหากn
เคย3.0
และc
เคยfoo bar
โปรแกรมของคุณอาจหยุดทำงานและยังคงใช้งานได้ - โปรแกรมของคุณจำเป็นต้องทำงาน
n > 1
และn < 1260
เท่านั้น มันอาจ (พยายาม) จัดการกับขนาดลูกบาศก์ที่ใหญ่กว่าหรือเล็กกว่า แต่ก็ไม่จำเป็น
นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ! หากคุณต้องการความช่วยเหลืออย่าลังเลที่จะถามในห้องสนทนา Cubically
n
ช่องว่างหลังจากทุกบรรทัดไม่ใช่ พวกเขาจะไม่รวมอยู่ในการถ่ายโอนข้อมูล