แปลงคำเป็นคลาวด์


18

พื้นหลัง

ฉันต้องการที่จะสร้างเมฆคำสวยเช่นนี้:

these    are
    words   

  floating  

ฉันคำนวณ(x,y)-coordinates ของตัวอักษรตัวแรกของแต่ละคำเสียบเข้ากับเครื่องกำเนิดเมฆคำของฉันและปล่อยให้มันทำงานได้ อย่างไรก็ตามฉันใช้ผู้ร่วมงานโดยไม่ตั้งใจ(y,x)ดังนั้นผลลัพธ์จะเป็นดังนี้:

these      

   floating

 words     



are        

เนื่องจากฉันขี้เกียจเกินไปที่จะคำนวณพิกัดอีกครั้งฉันต้องการให้คุณแปลงคำว่าคลาวด์ให้ฉัน

อินพุต

ข้อมูลที่คุณป้อนเป็นตารางสี่เหลี่ยมของตัวอักษรและช่องว่าง ASCII ที่เป็นตัวพิมพ์เล็ก ซึ่งหมายความว่าทุกแถวมีเบาะด้วยช่องว่างที่มีความยาวเท่ากัน อินพุตสามารถใช้เป็นสตริงแบบหลายบรรทัดหรืออาร์เรย์ของสตริงได้

คำคือส่วนแนวนอนของตัวอักษรและตำแหน่งเป็น(x,y)-coordinates (0,0)ของตัวอักษรด้านซ้ายสุดของมุมบนซ้ายของการเป็นตาราง จะมีอย่างน้อยหนึ่งคำและไม่มีแถวหรือคอลัมน์เว้นวรรค อย่างไรก็ตามการนำแถวหรือคอลัมน์ของช่องว่างอาจปรากฏขึ้น

เอาท์พุต

ส่งออกของคุณเป็นอีกหนึ่งตารางสี่เหลี่ยมของตัวละครที่ได้รับโดยการย้ายทุกคำกับตำแหน่งไปยังตำแหน่ง(x,y) (y,x)ผลลัพธ์ของคุณจะต้องไม่มีแถวหรือคอลัมน์เว้นวรรคพิเศษ แถวชั้นนำและคอลัมน์ที่ต้องเก็บรักษาไว้และเอาท์พุทจะต้องเป็นรูปสี่เหลี่ยมผืนผ้า

คุณอาจสมมติว่าการแปลงนี้ไม่ได้สร้างคำที่ทับซ้อนกันและไม่รวมหลายคำเป็นหนึ่งเดียว ซึ่งหมายความว่าการรันโปรแกรมบนเอาต์พุตควรสร้างอินพุตต้นฉบับ

กฎและการให้คะแนน

คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต

กรณีทดสอบ

สำหรับความคมชัด (และตั้งแต่กองแลกเปลี่ยนไม่ชอบเส้นพื้นที่เท่านั้น) |ทุกแถวในลักษณะปลายท่อ สิ่งเหล่านี้ไม่ใช่ส่วนหนึ่งของอินพุตหรือเอาต์พุตจริงและคุณควรลบออก โปรดทราบอีกครั้งว่าการรันโปรแกรมในแต่ละเอาต์พุตควรสร้างอินพุตที่สอดคล้องกัน

Input:
oneword|
Output:
oneword|

Input:
  spaces|
Output:
      |
      |
spaces|

Input:
   |
row|
Output:
 row|

Input:
these    are|
    words   |
            |
  floating  |
Output:
these      |
           |
   floating|
           |
 words     |
           |
           |
           |
are        |

Input:
   same|
 the   |
       |
same   |
Output:
   same|
 the   |
       |
same   |

Input:
  some |
words k|
       |
       |
       |
  still|
Output:
 words    |
          |
some still|
          |
          |
          |
 k        |

Input:
   hello   |
  world hey|
what   up  |
Output:
  what|
      |
 world|
hello |
      |
      |
      |
  up  |
 hey  |

Input:
  a b  a d cc|
 g h  huh nng|
  ye dunnn   |
    dud  yo  |
 wha   g     |
  huh heh hah|
Output:
        |
 g  wha |
a ye huh|
 h      |
b  dud  |
  dunnn |
 huh heh|
a   g   |
        |
d  yo   |
 nng hah|
cc      |

คำตอบ:


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.