เขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์สตริงอินพุตรอบ ๆ วงวงกลมที่มีรัศมีน้อยที่สุด ตัวอย่างเช่นสำหรับอินพุตThis is an exampleโปรแกรมของคุณควรมีเอาต์พุต:
  a si   
 n     s 
        i
e       h
x       T
a        
m        
 p       
  le     
การสร้างวงกลม
คุณจะต้องใช้อัลกอริทึมวงกลมจุดกึ่งกลางในการคำนวณพิกัดของแต่ละจุดของวงกลมที่ไม่ต่อเนื่อง คุณสามารถหาตัวอย่างเกี่ยวกับวิธีใช้ขั้นตอนวิธีนี้ในหน้านี้วิกิพีเดีย
นี่คือรหัสหลอกของอัลกอริทึม (ตามตัวอย่าง C ของ Wikipedia):
integer x = radius
integer y = 0
int decisionCriterion = 1 - x
while y <= x 
    point at coordinates (x,y) belongs to the circle   // Octant 1
    point at coordinates (y,x) belongs to the circle   // Octant 2
    point at coordinates (-x,y) belongs to the circle  // Octant 4
    point at coordinates (-y,x) belongs to the circle  // Octant 3
    point at coordinates (-x,-y) belongs to the circle // Octant 5
    point at coordinates (-y,-x) belongs to the circle // Octant 6
    point at coordinates (x,-y) belongs to the circle  // Octant 7
    point at coordinates (y,-x) belongs to the circle  // Octant 8
    y++
    if decisionCriterion <= 0
        decisionCriterion += 2 * y + 1
    else
        x--
        decisionCriterion += 2 * (y - x) + 1
end while
คุณอาจจะใช้ขั้นตอนวิธีการที่แตกต่างกันและถ้าหากมันผลิตวงการเดียวกันแน่นอนว่าอัลกอริทึมวงกลมจุดกึ่งกลางผลิตสำหรับรัศมีทั้งหมด
วงกลมจะต้องมีรัศมีที่เล็กที่สุดเท่าที่จะเป็นไปได้ซึ่งยังคงอนุญาตให้เขียนตัวอักษรทั้งหมดของอินพุต
ถ้าวงกลมจบลงด้วยคะแนนมากกว่าจำนวนตัวอักษรในสตริงแล้วตัวละครที่กรอกผ่านมาจะเป็นช่องว่าง
(Radius,0)ตัวอักษรตัวแรกของท่านจะต้องพิมพ์ในประเด็นที่มีพิกัด อักขระที่ตามมาจะถูกพิมพ์แบบทวนเข็มนาฬิกา
ปัจจัยการผลิต
อินพุตเป็นสตริงของอักขระ ASCII ใด ๆ ระหว่างช่องว่าง(32) และเครื่องหมายตัวหนอน~(126)
คุณอาจสันนิษฐานว่าอินพุตจะใช้ได้ตลอดเวลาสั้นกว่า 256 อักขระและยาวอย่างน้อย 5 อักขระ
อินพุตอาจถูกนำมาจาก STDIN หรือเป็นพารามิเตอร์ฟังก์ชันหรือสิ่งอื่นที่คล้ายคลึงกัน
เอาท์พุท
คุณสามารถแสดงผลลัพธ์เป็น STDOUT หรือส่งกลับเป็นสตริงจากฟังก์ชัน
คุณอาจมีช่องว่างต่อท้ายโดยไม่ทำให้บรรทัดยาวเกินกว่าเส้นที่ยาวที่สุด (เส้นตรงกลาง) (เช่นกลางบรรทัดไม่สามารถมีช่องว่างต่อท้ายได้)
อนุญาตให้ขึ้นบรรทัดใหม่ต่อท้าย
กรณีทดสอบ
Input: Hello, World!
Output:
  ,ol  
     l 
W     e
o     H
r      
 l     
  d!   
Input: 4 8 15 16 23 42
Output:
  51   
     8 
1      
6     4
 2   2 
  3 4  
Input: Programming Puzzles & Code golf
Output:
     gnim    
  uP     ma  
 z         r 
 z         g 
l           o
e           r
s           P
&            
 C           
  od     f   
    e Gol    
Input: Ash nazg durbatuluk, ash nazg gimbatul, ash nazg thrakatuluk agh burzum-ishi krimpatul.
Output:
            zan hsa ,           
           g         ku          
        ig             lu        
      bm                 ta      
     a                     b     
    t                       r    
   u                         u   
   l                         d   
  ,                              
                              g  
 a                             z 
 s                             a 
h                               n
n                               h
a                               s
z                               A
g                                
t                                
h                                
 r                               
 a                             . 
  k                           l  
  a                           u  
   t                         t   
   u                         a   
    l                       p    
     u                     m     
      k                  ri      
        ag              k        
          h          hi          
            burzum-is            
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
void5 ไบต์และประกาศบางส่วนของจำนวนเต็มในขอบเขตทั่วโลกสำหรับไบต์บางมากขึ้นเนื่องจากตัวแปรในขอบเขตทั่วโลกโดยไม่ต้องพิมพ์มีการสันนิษฐานและจะเริ่มต้นโดยอัตโนมัติint0