คำถามติดแท็ก data-structures

สำหรับความท้าทายที่เกี่ยวข้องกับวิธีการจัดระเบียบข้อมูล (ชนิดข้อมูลอาร์เรย์ต้นไม้ไบนารี ... )

30
อาร์เรย์ N- มิติ N ^ N เต็มไปด้วย N
ใน: มี หน่วยความจำเพียงพอและจำนวนเต็มบวก N Out: อาร์เรย์ N-N N มิติ N ที่เต็มไปด้วย N โดยที่ N ^ N หมายถึงเงื่อนไข N ของ N-by-N-by-N-by ... ตัวอย่าง: 1: [1]ซึ่งเป็นอาร์เรย์ 1D (รายการ) ที่มีความยาว 1 มี 1 เดียว 2: [[2,2],[2,2]]ซึ่งเป็นอาร์เรย์ 2 มิติ (ตาราง) ที่มี 2 แถวและ 2 คอลัมน์เต็มไปด้วย 2 วินาที 3: [[[3,3,3],[3,3,3],[3,3,3]],[[3,3,3],[3,3,3],[3,3,3]],[[3,3,3],[3,3,3],[3,3,3]]]ซึ่งเป็นอาร์เรย์ 3 มิติ (ลูกบาศก์) ที่มี 3 …

30
การใช้สแต็ก
ฉันไม่อยากจะเชื่อเลยว่าเราไม่มีสิ่งนี้อยู่แล้ว .. มันเป็นหนึ่งในโครงสร้างข้อมูลที่สำคัญที่สุดในการเขียนโปรแกรม แต่ก็ยังง่ายพอที่จะนำไปใช้ในcode-golf : ท้าทาย งานของคุณคือการใช้สแต็กที่อนุญาตให้มีการกดและ popping ตัวเลขทดสอบการใช้งานและทำให้ I / O ง่ายเราจะใช้การตั้งค่าต่อไปนี้: ข้อมูลที่ป้อนจะเป็นรายการจำนวนเต็มที่ไม่เป็นลบ ทุกจำนวนเต็มบวกบ่งชี้และทุกบ่งชี้ว่า - ทิ้งองค์ประกอบด้านบนpush ( n ) 0 ป๊อป ()nnnดัน ( n )push(n)\texttt{push(}n\texttt{)}000ป๊อปอัพ ()pop()\texttt{pop()} เอาต์พุตจะเป็นสแต็กที่เกิดขึ้น ตัวอย่าง ตัวอย่างเช่นถ้าเราได้รับ :[ 12 , 3 , 0 , 101 , 11 , 1 , 0 , 0 , 14 , 0 …

19
พายของฉันถูกแบ่งออกเป็นสองส่วนแล้ว?
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวกที่ไม่มีข้อ จำกัด คุณอาจจะถือว่าเป็นการป้อนข้อมูลในรูปแบบที่สะดวกที่เหมาะสมเช่นหรือ"1 2 3 4"[1, 2, 3, 4] ตัวเลขในรายการอินพุตแสดงถึงชิ้นส่วนของแผนภูมิวงกลมเต็มโดยที่ขนาดแต่ละส่วนเป็นสัดส่วนกับหมายเลขที่สอดคล้องกันและชิ้นส่วนทั้งหมดจะถูกจัดเรียงรอบแผนภูมิตามลำดับที่กำหนด ตัวอย่างเช่นพายสำหรับ1 2 3 4คือ: คำถามที่รหัสของคุณต้องตอบคือ: แผนภูมิวงกลมมีการแบ่งออกเป็นสองส่วนหรือไม่? นั่นคือมีเส้นตรงที่สมบูรณ์แบบจากด้านหนึ่งของวงกลมไปยังอีกด้านหนึ่งหรือไม่โดยแยกออกเป็นสองส่วนหรือไม่? คุณจำเป็นต้องส่งออกtruthyค่าถ้ามีอย่างน้อยหนึ่งเส้นแบ่งครึ่งและเอาท์พุทfalsyค่าถ้ามีผู้ใด ใน1 2 3 4ตัวอย่างมีการแบ่งระหว่าง4 1และ2 3ดังนั้นผลลัพธ์จะเป็นความจริง แต่สำหรับอินพุท1 2 3 4 5นั้นไม่มีไบเซอร์เรเตอร์ดังนั้นเอาต์พุตจะเป็นเท็จ: ตัวอย่างเพิ่มเติม การจัดเรียงตัวเลขต่างกันอาจลบเส้นแบ่งครึ่ง เช่น2 1 3 4→ falsy: หากมีเพียงหนึ่งหมายเลขเท่านั้นในรายการอินพุตวงกลมจะไม่ถูกแบ่งออก เช่น10→ falsy: อาจมีหลายเส้นแบ่งครึ่ง ตราบใดที่มีมากกว่าศูนย์ผลลัพธ์ก็จะเป็นจริง เช่น6 6 12 12 12 11 1 12→ความจริง: (มี …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

30
StringgnirtSStringgnirtSStringgnirtS
นี่คือความท้าทายที่ค่อนข้างง่ายสำหรับคุณ กำหนดสตริงที่มีความยาวNส่งออกสตริงไปข้างหน้าจากนั้นย้อนกลับแล้วไปข้างหน้าจากนั้นย้อนกลับ ... เป็นต้นNครั้ง ตัวอย่างเช่นถ้าข้อมูลของคุณเป็น Hello! คุณควรส่งออก: Hello!!olleHHello!!olleHHello!!olleH คุณยังสามารถเลือกที่จะออกบรรทัดใหม่หนึ่งบรรทัด การส่งของคุณอาจเป็นได้ทั้งโปรแกรมเต็มหรือฟังก์ชั่นและคุณอาจต้องใช้เวลาเข้าและส่งออกในรูปแบบที่เหมาะสม ตัวอย่างเช่นคุณอาจใช้ IO จาก STDIN / STDOUT อาร์กิวเมนต์ของฟังก์ชันและค่าส่งคืนจากไฟล์ ฯลฯ คุณสามารถสันนิษฐานได้ว่าสตริงอินพุตจะไม่ว่างเปล่าและจะมี ASCII ที่พิมพ์ได้เท่านั้น คุณต้องส่งออกสตริงใหม่ในบรรทัดเดียว ตัวอย่างเช่นถ้าผลลัพธ์ไปยังตัวอย่างสุดท้ายคือ Hello! !olleH Hello! !olleH Hello! !olleH นี่จะไม่ใช่ทางออกที่ถูกต้อง! ต่อไปนี้เป็นกรณีทดสอบเพิ่มเติม: Input: a Output: a Input: abcd Output: abcddcbaabcddcba Input: OK! Output: OK!!KOOK! Input: 4815162342 Output: 4815162342243261518448151623422432615184481516234224326151844815162342243261518448151623422432615184 Input: PPCG Output: …
42 code-golf  string  code-golf  math  geometry  data-structures  repeated-transformation  code-golf  number  random  code-golf  math  rational-numbers  code-golf  ascii-art  animation  code-golf  ascii-art  number  code-golf  math  number  code-golf  data-structures  code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

20
ฟาโรสับเปลี่ยนอาเรย์
ฟาโรสับเปลี่ยนเป็นเทคนิคที่ใช้บ่อยโดยนักมายากลที่ "สับ" ดาดฟ้า เพื่อทำการสับไพ่แบบแฟโรคุณต้องตัดเด็คเป็น 2 ส่วนเท่ากันก่อน ตัวอย่างเช่น [1 2 3 4 5 6 7 8] แฟโรสับเป็น [1 5 2 6 3 7 4 8] สามารถทำซ้ำได้หลายครั้ง น่าสนใจพอถ้าคุณทำซ้ำครั้งนี้มากพอคุณจะกลับมาที่อาร์เรย์เดิมเสมอ ตัวอย่างเช่น: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

8
เราควรเป็นเพื่อนกันไหม
หมายเหตุนี่เป็นคำถามที่เน้นไปที่โครงสร้างข้อมูลเป็นหลัก บทนำ Bacefook ต้องการให้ผู้คนเป็นมิตร! ดังนั้นพวกเขาจึงใช้ระบบใหม่เพื่อแนะนำเพื่อน! งานของคุณคือช่วย Bacefook ในการใช้ระบบแนะนำใหม่ของพวกเขา ข้อมูลจำเพาะ: โปรแกรมของคุณจะต้องเป็น REPL (ห่วงอ่าน EVAL-พิมพ์) สนับสนุน 3 ประเภทของคำสั่งFRIEND, และSUGGESTKNOW FRIEND X Y- ระบุว่าXและYเป็นเพื่อนในเครือข่ายสังคมออนไลน์ ถ้า X เป็นเพื่อนกับ Y ดังนั้น Y คือเพื่อนกับ X ทำได้ แต่ไม่จำเป็นต้องมีเอาต์พุต X เป็นเพื่อนกับ X เสมอ KNOW X Y - เอาท์พุทค่าความจริงถ้า X และ Y เป็นเพื่อนเท็จไม่อย่างนั้น KNOW X X จะส่งออกค่าความจริงเสมอ SUGGEST X …

3
การวาดต้นไม้จากอาร์เรย์
ได้รับอาจจะซ้อนกันอาร์เรย์ที่ไม่ว่างเปล่าของจำนวนเต็มบวกหลักเดียว (ไม่รับประกันไม่ซ้ำกัน) เอาท์พุทเป็นตัวแทน ASCII ┌ ┴ ┐ ─ │ ┬ ┼ศิลปะเหมือนต้นไม้โดยใช้ตัวอักษรกล่องวาดภาพ (สิ่งเหล่านี้ถูกคัดลอกมาจากรหัสหน้า 437 แต่คุณสามารถใช้การแทนที่เทียบเท่ากันได้) จำนวนเต็มของอาร์เรย์ทุกตัวควรเป็นใบไม้ของต้นไม้ องค์ประกอบที่ระดับเดียวกันลึกลงในอาร์เรย์ควรมีอยู่ในระดับเดียวกันของต้นไม้ องค์ประกอบทั้งหมดควรคั่นด้วยช่องว่างเพียงพอที่จะแตกต่างกัน (ขึ้นอยู่กับคุณเพื่อกำหนดความกว้างต่ำสุดของช่องว่างระหว่าง) ตัวอย่างเช่นอาร์เรย์ที่กำหนด[[1, [2]], [3, [4, 5]]]เอาท์พุทต้นไม้ต่อไปนี้ ┌─┴─┐ ┌┴┐ ┌┴─┐ 1 │ 3 ┌┴┐ 2 4 5 สำหรับอาร์เรย์[1, 2, 3]ต้นไม้อาจมีลักษณะเช่น ┌─┼─┐ 1 2 3 แต่อาร์เรย์[[1, 2, 3]]จะดูเหมือน │ ┌─┼─┐ 1 2 3 ในขณะที่อาร์เรย์[1, [1, …

1
การแลกเปลี่ยนสแต็ก
ปัญหา สมมติว่าคุณมีสแต็ค N ชื่อ S 1ถึง S Nโดยที่ S k (k = 1 ถึง N) แต่ละอันมี N สำเนาของหมายเลข k ตัวอย่างเช่นเมื่อ N = 3 กองที่มีลักษณะเช่นนี้: 1 2 3 <- top of stack 1 2 3 1 2 3 <- bottom of stack ======= 1 2 3 <- stack index ที่นี่มีการจัดทำดัชนี 3 …

17
ทำให้ข้อมูลเป็นกลาง
ในการทำให้ข้อมูลเป็นกลางให้แทนที่ตัวเลขทั้งหมด (ไม่ใช่ตัวเลข!) ซ้ำด้วยค่าศูนย์และอักขระทั้งหมด (ไม่ใช่สตริง!) ด้วยช่องว่าง คุณต้องยอมรับตัวเลขตัวอักษรหรือสตริงใด ๆ หรืออาเรย์แบบเรียกซ้ำ * ของข้อมูลตัวเลข / ตัวละครผสมที่ภาษาของคุณสามารถจัดการได้ ตัวอย่างเช่นคุณต้องยอมรับสตริงจริง (และไม่ จำกัด การป้อนข้อมูลของคุณไปยังรายการอักขระเดี่ยว) หากภาษาของคุณสามารถจัดการได้ หากภาษาของคุณมีอยู่แล้วภายในซึ่งทำหน้าที่ทั้งหมดหรือส่วนใหญ่ฉันจะขอบคุณรุ่นอื่นที่ไม่มีตัวเลือก การส่งที่สั้นที่สุดในแต่ละภาษาเป็นผู้ชนะและจะได้รับ upvote จากฉัน กรณีตัวอย่าง "" → "" 7 → 0 123.456 → 0 "X" → " " " " → " " "Yo!" → " " [] → [] [-1.2E3] → [0] …

9
ใช้รายการขี้เกียจโดยเฉพาะอย่างยิ่งในภาษาที่คุณไม่รู้จักดี [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา นี่เป็นแบบฝึกหัดที่ดีในการใช้ภาษาโปรแกรมที่คุณตั้งใจจะเรียนรู้ แต่มีเพียงเล็กน้อยเท่านั้น สิ่งนี้เกี่ยวข้องกับการทำงานกับวัตถุการใช้หรือการจำลองการปิดและการยืดระบบชนิด งานของคุณคือการเขียนโค้ดเพื่อจัดการรายการที่ขี้เกียจจากนั้นใช้เพื่อใช้อัลกอริทึมนี้ในการสร้างหมายเลข Fibonacci: ตัวอย่างรหัสอยู่ใน Haskell let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in take 40 fibs ผล: [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986] การใช้งานรายการที่ขี้เกียจของคุณควรเป็นไปตามหลักเกณฑ์เหล่านี้: List List เป็นหนึ่งในสามสิ่ง: ไม่มี - รายการว่างเปล่า [] ข้อด้อย - รายการเดียวจับคู่กับรายชื่อของรายการที่เหลือ: 1 : [2,3,4,5] …

4
ตรวจสอบพล็อตต้นกำเนิดและใบไม้
ลำต้นและใบพล็อตแสดงพวงของค่าตัวเลขในกลุ่มที่ถูกกำหนดโดยทั้งหมด แต่หลักที่ผ่านมา ตัวอย่างเช่นสมมติว่าเรามีชุดข้อมูลนี้: 0, 2, 12, 13, 13, 15, 16, 20, 29, 43, 49, 101 เราสามารถผลิตลำต้นและใบไม้นี้: 0|02 1|23356 2|09 3| 4|39 5| 6| 7| 8| 9| 10|1 ก้านของแถวแรกคือ 0 ดังนั้น "ใบไม้" - ตัวเลขหลัง|- แทนค่าระหว่าง 0 รวมถึง 10 พิเศษ ใบในแต่ละก้านจะถูกจัดเรียง ลำต้นที่ไม่มีใบไม้ (เช่น 3) ยังคงปรากฏอยู่ในเนื้อเรื่อง ค่า 101 อยู่ระหว่าง 100 ค่ารวมและแบบพิเศษ 110 ค่าดังนั้นค่าของต้นกำเนิดคือ …

10
ใช้งานกระเป๋า
ถุงเรียกว่ายังเป็น MultiSet เป็นคอลเลกชันเรียงลำดับ คุณสามารถเรียกมันว่าชุดที่อนุญาตให้ทำซ้ำหรือรายการ (หรืออาร์เรย์) ที่ไม่ได้เรียงลำดับ / จัดทำดัชนี ในความท้าทายนี้คุณจะถูกขอให้ดำเนินการเกี่ยวกับกระเป๋า: การเพิ่มการทดสอบการแตกการหารการนับและการทดสอบความเสมอภาค การดำเนินงาน การดำเนินการที่ระบุอาจไม่ธรรมดา นอกจากนี้รวมสองถุงเป็นหนึ่งเดียวรักษาจำนวนรวมของแต่ละค่า [1,2,2,3] + [1,2,4] = [1,1,2,2,2,3,4] ความแตกต่างจะลบออกจากถุงแต่ละองค์ประกอบของถุงอื่นหรือไม่ทำอะไรเลยหากไม่มีองค์ประกอบดังกล่าว [1,2,2,4] - [1,2] = [2,4] [1,2,3] - [2,4] = [1,3] การคูณทวีคูณแต่ละองค์ประกอบในถุง [1,2,3,3,4] * 3 = [1,1,1,2,2,2,3,3,3,3,3,3,4,4,4] 2 * [1,3] = [1,1,3,3] การหารเป็นเรื่องแปลกหนึ่ง: แต่ละองค์ประกอบที่เท่ากันจะถูกใส่ในถุงใหม่ที่เท่ากันองค์ประกอบที่ไม่สามารถสร้างกลุ่ม n ให้อยู่ในถุงได้ ส่งคืนหนึ่งในถุงใหม่ n [1,1,2,2,2] / 2 = …

2
พลิกใบไม้ใหม่
คุณได้รับต้นไม้ซึ่งตามธรรมเนียมวิทยาการคอมพิวเตอร์มีรากที่ด้านบนและทิ้งไว้ที่ด้านล่าง โหนดใบไม้จะมีป้ายกำกับตัวเลข เป้าหมายของคุณคือการทำเครื่องหมายใบไม้พิเศษ-1และเลื่อนขึ้นเป็นรากใหม่ [3, [[16], -1], [4]] --> [[[[4], 3], [16]]] คุณสามารถจินตนาการถึงการหมุนใบไม้พิเศษไปที่ด้านบนและปล่อยให้ต้นไม้ที่เหลือออกไปเที่ยว ทำให้ต้นไม้อยู่ในระนาบขณะหมุนเพื่อให้ได้ลำดับจากซ้ายไปขวาของกิ่งไม้ทั้งหมด -1ต้นไม้ใหม่ที่มีทุกใบของต้นไม้เดิมยกเว้น การป้อนข้อมูล: -1ต้นไม้ที่มีใบเป็นจำนวนเต็มบวกชัดเจนยกเว้นหนึ่งใบ รากของต้นไม้จะมีกิ่งอย่างน้อยสองกิ่งหลุดออกมา อินพุตถูกกำหนดเป็นรายการแบบซ้อนเช่น[3, [[16], -1], [[4]]]หรือการแทนสตริง ตัวคั่นเป็นตัวเลือกและขึ้นอยู่กับคุณ แต่ต้องแยกตัวเลขที่อยู่ติดกัน เอาท์พุท: เอาท์พุทหรือพิมพ์ต้นไม้ที่พลิกในรูปแบบเดียวกับอินพุตของคุณ ลำดับของรายการจะต้องถูกต้อง การปรับเปลี่ยนในสถานที่เป็นเรื่องปกติ หากอินพุต / เอาท์พุตของคุณเป็นประเภทข้อมูลจะต้องเป็นประเภทที่พิมพ์ในรูปแบบที่ต้องการตามค่าเริ่มต้น บิวด์อินที่โดยทั่วไปจะทำงานให้คุณไม่ได้รับอนุญาต กรณีทดสอบ: >> [3, [[16], -1], [4]] [[[[4], 3], [16]]] >> [2, -1] [[2]] >> [44, -1, 12] [[12, 44]] …

28
คำนวณโมดูลัสของผกผัน
งาน: มูลค่าการส่งออกสำหรับxที่สองค่าที่กำหนดa mod x = ba,b การสันนิษฐาน aและbจะเป็นจำนวนเต็มบวกเสมอ จะไม่มีทางแก้สำหรับ x หากมีหลายวิธีให้เอาท์พุทอย่างน้อยหนึ่งวิธี หากไม่มีวิธีแก้ปัญหาให้เอาท์พุทอะไรหรือบ่งชี้ว่าไม่มีวิธีแก้ไข อนุญาตให้ใช้บิวด์อิน (ไม่สนุกเท่าวิธีการทางคณิตศาสตร์อื่น ๆ ) เอาต์พุตเป็นจำนวนเต็มเสมอ ตัวอย่าง A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

7
การกำหนดโครงร่างลำดับชั้น
เขียนโปรแกรมที่ใช้ในสตริงโดยที่ทุกบรรทัดประกอบด้วยอักขระที่0เยื้องด้วยช่องว่างจำนวนหนึ่ง บรรทัดด้านบนไม่เยื้องและบรรทัดอื่น ๆ จะถูกเยื้องโดยมากที่สุดหนึ่งช่องว่างมากกว่าบรรทัดก่อนหน้ามัน ไม่มีบรรทัดที่จะมีช่องว่างต่อท้าย แต่คุณอาจคิดว่ามีบรรทัดใหม่ต่อท้ายเดียว ตัวอย่างเช่นอินพุตอาจมีลักษณะดังนี้: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 งานของคุณคือการกำหนดหมายเลขให้เหมือนโครงร่างแบบลำดับชั้นโดยใช้จำนวนเต็มบวกที่เพิ่มขึ้นเป็นส่วนหัวของบรรทัด นี่จะเป็นผลลัพธ์สำหรับตัวอย่าง: 1 1 1 2 2 2 1 2 3 1 3 1 1 2 โปรดสังเกตว่าระดับการเยื้องของลำดับชั้นทุกชุดมีตัวเลขที่เพิ่มขึ้นของตัวเองอย่างไรแม้ว่าจะเพิ่มขึ้นเป็นหนึ่งเท่านั้น ในเอาต์พุตไม่ควรมีช่องว่างต่อท้าย แต่อาจมีทางเลือกขึ้นบรรทัดใหม่เดียว เขียนโปรแกรมเต็มรูปแบบที่รับสายป้อนข้อมูลผ่าน stdin หรือบรรทัดคำสั่งหรือเขียนฟังก์ชันที่รับสายเข้าเป็นอาร์กิวเมนต์ พิมพ์ผลลัพธ์หรือส่งคืนเป็นสตริง รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง หากสตริงว่างคืออินพุตสตริงว่างควรเป็นเอาต์พุต ตัวอย่างที่น่าสนใจที่สุดต่อไปคืออินพุต 0 ซึ่งควรจะกลายเป็น …

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