คำถามติดแท็ก counting

สำหรับความท้าทายเกี่ยวกับการนับจำนวนการเกิดขึ้นของคุณลักษณะบางอย่าง

8
การกำหนดหมายเลขบรรทัด - ใช้ nl
งานของคุณคือการใช้โปรแกรมคล้ายกับnlเครื่องมือบรรทัดคำสั่งจากยูทิลิตี้หลักของ GNU ช่องโหว่มาตรฐานถูกแบน คุณไม่สามารถใช้ฟังก์ชันโปรแกรมหรือยูทิลิตี้ในตัวหรือภายนอกสำหรับกำหนดหมายเลขบรรทัดของไฟล์หรือสตริงเช่นnlตัวมันเองหรือ=คำสั่งใน GNU sed สเปค อินพุต โปรแกรมยอมรับชื่อไฟล์เป็นอาร์กิวเมนต์ รหัสของคุณไม่จำเป็นต้องข้ามแพลตฟอร์ม รูปแบบชื่อไฟล์ของระบบปฏิบัติการที่ใช้รหัสควรนำมาใช้เช่นถ้าคุณเกิดขึ้นได้บน Windows, คั่นไดเรกทอรีสามารถหรือ\/ คุณต้องสามารถใช้ไฟล์อินพุต 64 ไฟล์รวมถึง-หากมีการระบุไว้ หากได้รับมากกว่า 64 ให้จัดการ 64 คนแรกเท่านั้น ในรายการชื่อไฟล์-หมายถึงอินพุตมาตรฐาน หากมีการกำหนดชื่อไฟล์ให้อ่านจากไฟล์ตามลำดับที่ได้รับและต่อเนื้อหาเข้าด้วยกันโดยแทรกบรรทัดใหม่ระหว่างแต่ละไฟล์และท้ายบรรทัด หากคุณไม่สามารถอ่านจากชื่อไฟล์อย่างน้อยหนึ่งไฟล์ (เนื่องจากไฟล์ไม่มีอยู่หรือคุณไม่ได้รับอนุญาตให้อ่าน) อย่าเพิกเฉย หากชื่อไฟล์ทั้งหมดที่ระบุไม่ถูกต้องจะไม่แสดงผลใด ๆ หากไม่มีการกำหนดชื่อไฟล์ให้อ่านจากอินพุตมาตรฐาน อ่านจากอินพุตมาตรฐานเท่านั้นหากไม่มีการกำหนดชื่อไฟล์หรือ-ได้รับ เอาท์พุต เอาท์พุทโปรแกรมประสงค์จะออกมาตรฐานการป้อนข้อมูลที่มีเส้นเลขจึง (คุณอาจคิดว่าการป้อนข้อมูลที่มี\n, \r\nหรือ\rปลายสายรับแล้วแต่จำนวนใดจะสะดวกสำหรับคุณ แต่ที่หนึ่งระบุ): <5 spaces>1<tab><content of line 1 of input> <5 spaces>2<tab><content of line 2 of input> ... …

30
นับจำนวนครั้งของจำนวนเต็ม [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ตามคำถามจำนวนเต็มบวก <1,000,000 ประกอบด้วย 2 หลัก . ฉันกำลังมองหาทางออกที่สร้างสรรค์มากที่สุดจะนับทุกจำนวนเต็มจากXการที่มีจำนวนเต็ม Y สามารถจาก 0 ถึงZZY จำนวนเต็มที่พบทุกคนจะนับเพียงครั้งเดียวแม้ว่าจำนวนเต็มZจะปรากฏบ่อยขึ้น ตัวอย่างเช่น: Z = 2 123 counts 1 22222 also counts 1 ฉันจะเริ่มต้นด้วยอัลกอริทึมที่เรียบง่ายจริงๆเขียนใน Java (เพราะทุกคนเป็นที่รัก): public class Count { public static void main(String[] args) { int count = 0; for (int i …

30
ค้นหา "ขนาดที่ไม่ได้ห่อ" ของรายการ
มากำหนดฟังก์ชั่น "ขนาดที่ไม่ได้ห่อ" uของรายการซ้อนl(มีเพียงรายการ) โดยกฎต่อไปนี้: ถ้าlว่างแล้วก็u(l)คือ 1 หากlไม่ว่างเปล่าu(l)เท่ากับผลรวมของขนาดที่ยังไม่ได้เปิดของทุกองค์ประกอบในlบวกอีกหนึ่ง งานของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่ใช้รายการเป็นอินพุตและเอาต์พุต (หรือส่งคืน) ขนาดที่ไม่ได้ตัดทิ้งของรายการ กรณีทดสอบ: [] -> 1 [[[]],[]] -> 4 [[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19 [[[[]]]] -> 4 นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุด (เป็นไบต์) จะชนะ

3
Phonemic Abugida
ตัวละคร มาเรียกตัวอักษรยูนิโค้ดเหล่านี้ว่าตัวอักษรIPA ภาษาอังกฤษ : bdfhjklmnprstvwzðŋɡʃʒθ และลองเรียกอักษร Unicode เหล่านี้ สระ IPA ภาษาอังกฤษ : aeiouæɑɔəɛɜɪʊʌː (ใช่ːมันเป็นเพียงเสียงสระยาว แต่ถือว่าเป็นเสียงสระสำหรับจุดประสงค์ของการท้าทายนี้) ในที่สุดเหล่านี้เป็นเครื่องหมายความเครียดหลักและรอง : ˈˌ โปรดทราบว่าɡ( U + 0261 ) ไม่ใช่ตัวพิมพ์เล็ก g และเครื่องหมายเน้นหลักˈ( U + 02C8 ) ไม่ใช่เครื่องหมายอะโพสโทรฟีและː( U + 02D0 ) ไม่ใช่เครื่องหมายโคลอน งานของคุณ ให้เสียงสระซ้อนสระที่ด้านบนของพยัญชนะที่พวกเขาทำตามและวางเครื่องหมายความเครียดใต้พยัญชนะที่พวกเขานำหน้า (ในฐานะที่เป็นชื่อคำถามคำแนะนำเช่นระบบการเขียนที่ประกอบด้วยพยัญชนะสระ - เสียงสระเรียงกันเป็นหน่วยเรียกว่าabugidaเลย) รับข้อมูลˈbætəlʃɪpผลิตผลลัพธ์: æə ɪ btlʃp ˈ คำรับประกันได้ว่าจะสตริงของพยัญชนะสระและเครื่องหมายความเครียดตามที่ระบุไว้ข้างต้น จะไม่มีเครื่องหมายความเครียดติดต่อกันและพวกเขาจะถูกวางไว้ที่จุดเริ่มต้นของคำและ / หรือก่อนที่พยัญชนะ …

10
การเรียงสับเปลี่ยนกับรายการที่แยกไม่ออก
ให้ลิสต์ของจำนวนเต็มเอาท์พุทจำนวนพีชคณิตของจำนวนเต็มกับพีชคณิตเรียงกันไม่ได้นับครั้งเดียว หากมีnจำนวนเต็มและแต่ละกลุ่มของตัวเลขที่แยกไม่ออกมีความยาวn_iนี่คือn! / (n_1! * n_2! * ...) กฎระเบียบ อินพุตจะเป็นรูปแบบของรายการบางรายการเป็นอาร์กิวเมนต์ของฟังก์ชันหรือโปรแกรมที่มีจำนวนเต็ม 1 ถึง 12 ที่ไม่ใช่ค่าลบ ผลลัพธ์จะเป็นการพิมพ์หรือคืนจำนวนการเรียงสับเปลี่ยนตามที่อธิบายไว้ข้างต้น ไม่มีช่องโหว่มาตรฐานหรือฟังก์ชั่นในตัว (สร้างการเรียงสับเปลี่ยนชุดค่าผสม ฯลฯ ) อนุญาตให้ใช้แฟกทอรี กรณีทดสอบ ปัจจัยการผลิต: 1, 3000, 2, 2, 8 1, 1, 1 2, 4, 3, 2, 3, 4, 4, 4, 4, 4, 1, 1 ขาออก: 60 1 83160

4
ช่วยคำนวณตัวแทนของคุณอีกครั้ง!
สองสามเดือนที่ผ่านมาเราได้อภิปรายเกี่ยวกับเมตาดาต้าเกี่ยวกับการเพิ่มชื่อเสียงที่ได้รับจากการโหวตคำถาม นี่คือพื้นฐานของระบบชื่อเสียงของเราในปัจจุบันสำหรับการลงคะแนน: 1 การโหวตคำถามUมีค่า 5 ชื่อเสียง คำตอบ upvote uมีค่า 10 ชื่อเสียง คำถามหรือคำตอบ downvote dมีค่า -2 ชื่อเสียง มีข้อเสนอแนะที่แตกต่างกันมากมายสำหรับระบบใหม่ แต่ปัจจุบันได้รับความนิยมมากที่สุดเหมือนกับข้างต้น แต่มี upvotes คำถามปรับสัดส่วนเป็น +10 ตัวแทน ความท้าทายนี้เกี่ยวกับการคำนวณจำนวนตัวแทนที่คุณจะได้รับหากใช้ระบบนี้ ลองดูตัวอย่าง หากกิจกรรมการลงคะแนนเป็นUUUUuuuuUUUUUduuudUUเช่นนั้นคุณจะได้รับ 121 ภายใต้ระบบปัจจุบัน: U x 4 x 5 = 20 = 20 u x 4 x 10 = 40 = 60 U x 5 x …

8
การเรียงพิมพ์ป้ายหลายมิติ
ในโลกหลายมิติไอพังก์หัวหน้าของเราต้องการพิมพ์ฉลากดัชนีลงในลิ้นชักแต่ละอันในตู้เก็บเอกสารหลายมิติของกลุ่ม บริษัท ของเรา เจ้านายต้องการพิมพ์แผ่นป้ายผนึกทั้งหมดเป็นแบบฟอร์มเดียวโดยใช้แบบอักษรที่ซื้อมาเพื่อการนี้เท่านั้นดังนั้นเราจึงต้องเรียงลำดับ (ชิ้นส่วนสัญลักษณ์โลหะ) เนื่องจากการเรียงลำดับมีราคาแพงมากคำสั่งซื้อของเราต้องเป็นตัวเลขที่แน่นอนสำหรับแต่ละสัญลักษณ์ สำหรับชุดของความยาวของมิติที่กำหนด (โดยวิธีการใด ๆ ) return 0 ให้ส่งคืน (โดยวิธีใด ๆ ) คำสั่งซื้อของเราซึ่งเป็นตารางความถี่ของตัวเลขที่ต้องใช้เพื่อพิมพ์ชุดพิกัดคาร์ทีเซียนทั้งหมด มันจะต้องจัดเรียงตามลำดับแป้นพิมพ์ของลักษณะ (เช่น 0 หลังจาก 9) และอาจไม่รวมคำสั่ง 0 ประเภทดังนั้นหากไม่มีการเรียงลำดับใด ๆ เลย (เพราะมิติมีความยาว 0); พิมพ์อะไร โบนัส -3 จะเรียงลำดับหากรหัสของคุณสามารถจัดการได้ (เช่นพิมพ์อะไรก็ได้) ขนาด 0 ด้วย ตัวอักษรขึ้นบรรทัดใหม่สุดท้ายเป็นที่ยอมรับ ห้ามใช้ช่องโหว่มาตรฐาน เป็นที่กล่าวถึงประเภทมีราคาแพงนี้จึงเป็นcodecolf วิญญาณที่ใจดีอาจแก้ไขการท้าทายนี้เพื่อรวมการให้คะแนนอัตโนมัติดังนั้นให้รวมหัวข้อเช่น:# LanguageName, 123 sorts กรณีทดสอบ ป.ร. ให้11ไว้พิมพ์: 1 4 2 …

11
นับจำนวนเดือนที่มี 31 วันเต็มโดยการนับนิ้ว
มีกี่คนที่ยังคงใช้ข้อนิ้วของคุณเพื่อตรวจสอบว่าหนึ่งเดือนเต็ม 31 วันหรือน้อยกว่า งานของคุณคือการเขียนโปรแกรมเพื่อนับจำนวนเดือนในช่วงหนึ่งเดือนที่จะมี 31 วันเต็มและจำนวนที่มีน้อยกว่า 31 วันโดย "การนับนิ้ว" มารยาท: amsi.org.au อินพุต คู่ของเดือนซึ่งไม่ต้องมาตามลำดับก่อนที่สองในรูปแบบที่เหมาะสม ตัวอย่างเช่น: 201703 201902- มีนาคม 2017 ถึงกุมภาพันธ์ 2019 โปรดอธิบายรูปแบบการป้อนข้อมูลที่คุณเลือก โปรดทราบว่าอินพุตจะต้องสามารถรวมทุกปีตั้งแต่ 1 ถึง 9999 ช่วงเดือนที่ระบุรวมถึงทั้งเดือนเริ่มต้นและเดือนสิ้นสุด เอาท์พุต สองจำนวนเต็ม: จำนวนเดือนในช่วงที่กำหนดด้วย 31 วันและจำนวนเดือนในช่วงที่น้อยกว่า 31 วัน ตัวอย่าง: 14 10- สนับมือ 14 อันร่อง 10 อัน (หมายความว่าในช่วงเดือนนั้นเรามี 14 เดือนที่มี 31 วันเต็มและ 10 เดือนที่น้อยกว่า 31 วัน) …

2
ล่ามสำหรับทฤษฎีจำนวนโมดูโล n
ประโยคของทฤษฎีจำนวน (สำหรับวัตถุประสงค์ของเรา) เป็นลำดับของสัญลักษณ์ต่อไปนี้: 0และ'(ตัวตายตัวแทน) - ตัวตายตัวแทนหมายถึง+1ดังนั้น0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(เพิ่มเติม) และ*(การคูณ) = (เท่ากับ) (และ)(วงเล็บ) ตัวดำเนินการเชิงตรรกะnand( a nand bคือnot (a and b)) forall (ปริมาณสากล) v0, v1, v2ฯลฯ (ตัวแปร) นี่คือตัวอย่างของประโยค: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) นี่not …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

7
สร้าง counterstring ไม่ จำกัด
counterstringคือการจัดเรียงตัวของตัวเองอธิบายข้อมูลการทดสอบบางอย่างที่ถูกนำมาใช้ในการทดสอบซอฟต์แวร์ ไม่แน่ใจว่ามันถูกคิดค้นโดยJames Bachแต่ฉันรู้จากที่นั่น แนวคิดมีดังนี้: ข้อมูลทดสอบประกอบด้วยเครื่องหมายดอกจัน ( *) มากมาย ตัวเลขที่อยู่ข้างหน้าเครื่องหมายดอกจันจะบอกคุณว่าข้อมูลการทดสอบอยู่ที่จุดนั้นนานแค่ไหน หากคุณต้องการทราบตำแหน่งในข้อมูลการทดสอบที่ไม่ใช่เครื่องหมายดอกจันให้ค้นหาเครื่องหมายดอกจันล่าสุดดูที่ตัวเลขก่อนหน้านี้และเพิ่มจำนวนหลักที่ตามมา ลำดับเริ่มต้นดังนี้: 2*4*6*8*11*14*17*20*23* ^ อย่างที่คุณเห็นเครื่องหมายดอกจันที่ทำเครื่องหมายอยู่ที่ตำแหน่ง 14 หากไฟล์เกิดขึ้นจะถูกตัดทอนดังนี้ [...]2045*20 จากนั้นคุณสามารถตรวจสอบว่ามีขีด จำกัด 2047 อักขระที่ใดที่หนึ่ง (2045 โดยที่เครื่องหมายดอกจันบวก 2 2และ0) เป็นหน้าที่ของคุณในการสร้างโปรแกรมที่สั้นที่สุด (นี่คือโค้ดกอล์ฟ ) ที่ส่งออก (std :: out หรือ file หรืออะไรก็ตาม) สตริงทดสอบแบบยาวตามอำเภอใจของรูปแบบนั้น ความยาวเป็นอักขระได้รับเป็นอาร์กิวเมนต์ โปรแกรมจะสนับสนุนข้อมูลทดสอบสูงสุด 2 GB (ค่าอินพุต 2147483647 อักขระ) ตำแหน่ง "อันตราย" ในไฟล์ 2 GB: 8*11* 98*102* …

1
ช่วย Jason จัดรูปแบบ JSON ของเขา
เจสันมี JSON ตัวใหญ่ แต่ไม่สามารถอ่านได้ดังนั้นเขาจึงต้อง prettify การจัดรูปแบบข้อมูลจำเพาะ JSON มี 4 ประเภท: เบอร์; แค่0-9 Strings; "สตริงที่ยกมาสองครั้งหนีออกมาด้วย\ อาร์เรย์; คั่นด้วยโดย[]รายการที่คั่นด้วย,รายการสามารถเป็นประเภทใดก็ได้ วัตถุ; การจัด{}รูปแบบคั่นด้วยรูปแบบคือkey: valueคีย์เป็นสตริงและค่าเป็นประเภทใด ๆ เหล่านี้ ระยะห่าง อาร์เรย์ควรมีหนึ่งช่องว่างหลังเครื่องหมายจุลภาคระหว่างรายการ วัตถุควรมีช่องว่างเดียวระหว่างคีย์และค่าหลังจาก : รอยหยัก แต่ละระดับการซ้อนจะถูกเยื้อง 2 มากกว่าก่อนหน้า คู่ของคีย์ / ค่าของแต่ละคู่จะอยู่ในบรรทัดของตัวเองเสมอ วัตถุถูกเยื้อง อาร์เรย์จะถูกเยื้องในหลายบรรทัดถ้ามันมีอาร์เรย์หรือวัตถุอื่น มิฉะนั้นอาร์เรย์จะยังคงอยู่ในหนึ่งบรรทัด กฎระเบียบ บิวด์อินที่ไม่อนุญาตให้ทำภารกิจนี้เล็กน้อย เช่นเดียวกับช่องโหว่มาตรฐานจะไม่ได้รับอนุญาต ตัวอย่าง [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

6
ตัดและนับทศนิยม
ในความท้าทายนี้คุณจะเขียนโปรแกรมเพื่อแสดงจำนวนทศนิยมในสตริงอินพุตและตัดอินพุตหากจำเป็น ตัวอย่าง -12.32 2 32 0 3231.432 3 -34.0 0 -34 023 0 23 00324.230 2 324.23 10 0 00.3 1 0.3 0 0 -04.8330 3 -4.833 กฎระเบียบ อินพุตจะเป็นสตริงที่สามารถใช้ผ่าน STDIN อาร์กิวเมนต์ของฟังก์ชันหรือค่าที่ใกล้เคียงที่สุด เอาต์พุตสามารถผ่านการคืนค่าฟังก์ชัน STDOUT หรือเทียบเท่าที่ใกล้เคียงที่สุด ไม่มีการ จำกัด ขนาดสำหรับอินพุตจำนวนเต็มยกเว้นความยาวสตริงสูงสุดของภาษาของคุณ หากอินพุตมีค่าศูนย์ (นำหน้าหรือต่อท้าย) ที่ไม่จำเป็น: คุณควรพาพวกเขาออกไป เอาท์พุทจำนวนตำแหน่งทศนิยมในจำนวนใหม่ ส่งออกหมายเลขใหม่คั่นด้วยตัวคั่น (เช่นช่องว่าง, บรรทัดใหม่, จุลภาค) ข้อมูลที่ป้อนจะตรงกับ RegEx นี้เสมอ: -?\d+(\.\d+)?หรือถ้าคุณไม่พูด …

2
การนับไอคอนสำหรับ splays นวัตกรรม
นวัตกรรมเป็นเกมไพ่ที่ผู้เล่นต่อสู้ผ่านยุคสมัยตั้งแต่ยุคก่อนประวัติศาสตร์จนถึงยุคปัจจุบันเพื่อพยายามที่จะได้รับความสำเร็จเร็วกว่าคู่ต่อสู้ การ์ดในนวัตกรรมแต่ละใบมีเอกลักษณ์และมอบไอคอนจำนวนหนึ่งให้ผู้เล่น หากเราถือว่าไพ่แต่ละใบเป็นตาราง 2x3 แล้วสามในสี่ช่องบนขอบด้านซ้ายและด้านล่างจะถูกนำขึ้นโดยไอคอนเสมอ (สัญลักษณ์ในรูปหกเหลี่ยมสีดำจะไม่ถูกนับ) เกมนี้มี 6 ประเภทของไอคอน (ปราสาทครอบใบหลอดไฟโรงงานและนาฬิกา) 012345ซึ่งเราจะเป็นตัวแทนของพลโดยใช้ตัวอักษร การใช้#เพื่อเป็นตัวแทนของรูปหกเหลี่ยมสีดำเราสามารถใช้สี่ตัวอักษรเพื่อแสดงไอคอนในการ์ดแต่ละใบ ตัวอย่างเช่นการ์ดด้านบนคือ 0.. #.. 3.. 1.. -> 03#0 #331 355# 144# 3#0 331 55# 44# ตอนนี้ในนวัตกรรมการ์ดในพื้นที่เล่นถูกจัดกลุ่มเป็นกอง * ซึ่งกระจายในหนึ่งในสี่วิธี สำหรับตัวอย่างแต่ละตัวอย่างเราจะใช้ไพ่ด้านบนสมมติว่าการ์ดด้านซ้ายสุด03#0อยู่ที่ด้านบนของเสาเข็ม ไม่มี splay:มองเห็นเฉพาะการ์ดบนสุดเท่านั้น 0.. 3#0 Splay left : การ์ดบนสุดสามารถมองเห็นได้อย่างสมบูรณ์เช่นเดียวกับอันดับสามของการ์ดด้านล่างทั้งหมด 0..|.|.|.| 3#0|1|#|#| Splay right : ไพ่ด้านบนสามารถมองเห็นได้อย่างสมบูรณ์เช่นเดียวกับไพ่สามใบด้านซ้ายของการ์ดทั้งหมดด้านล่าง 1|3|#|0.. 4|5|3|3#0 Splay up : การ์ดบนสุดสามารถมองเห็นได้อย่างสมบูรณ์เช่นเดียวกับครึ่งล่างของการ์ดทั้งหมดด้านล่าง …

1
ค้นหา Fenceposts
พื้นหลัง ระเบิดปรมาณูระเบิดใกล้โรงงานรั้วเสา! เนื่องจากเสารั้วมีความสำคัญต่อการอยู่รอดของอารยธรรมของเราเราจึงต้องช่วยเหลือผู้คนให้มากที่สุด เรากำลังส่งหุ่นยนต์ที่ทนต่อรังสีเพื่อค้นหาพื้นที่และเป็นหน้าที่ของคุณในการเขียนโปรแกรมการมองเห็นแบบประดิษฐ์ อินพุต การป้อนข้อมูลของคุณเป็นตารางสี่เหลี่ยมของตัวละคร|-#ซึ่งเป็นตัวแทนของส่วนเสารั้วสองประเภทและเศษหินหรืออิฐ เสารั้วได้รับบาดเจ็บสาหัสจากการระเบิดและบางส่วนก็ถูกหลอมรวมเข้าด้วยกันด้วยความร้อน เรากำหนดเสารั้วผู้สมัครให้เป็นรูปแบบแนวนอนที่เริ่มต้นและสิ้นสุด|และมีอย่างน้อยหนึ่ง-s ระหว่างพวกเขา (เช่น|-|หรือ|---|ไม่ แต่||) หรือรูปแบบแนวตั้งที่เริ่มต้นและสิ้นสุดใน-และมีอย่างน้อยหนึ่ง|s ระหว่างพวกเขา เสารั้วผู้สมัครในแนวนอนหมุน 90 องศา) fencepost ที่เกิดขึ้นจริงเป็น fencepost ผู้สมัครที่ไม่ได้มีส่วนร่วมใด ๆ ของส่วนของตนกับ fencepost ผู้สมัครอื่น เอาท์พุต ผลลัพธ์ของคุณคือจำนวนเสารั้วที่เกิดขึ้นจริงในตารางอินพุต ตัวอย่าง พิจารณากริดอินพุต |#|-|#|## #||--|||# ###|#|--# ###-||--| -#-|#-|#- #---#-#-| #-#-|#--| ตารางนี้มีผู้สมัคร 5 คน แต่มีเพียง 2 คนเท่านั้นที่เป็นเสารั้วจริง (แสดงเป็นตัวหนา) 2ดังนั้นการส่งออกที่ถูกต้องคือ กฎระเบียบ คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบเพิ่มเติม การป้อนข้อมูล: ##-- ||## …

2
จำนวนการหมุนของงูที่สามารถเข้าถึงได้
ความท้าทายนี้ไม่ได้เกี่ยวกับเกมของงู ลองนึกภาพงู 2d nที่เกิดขึ้นจากการวาดเส้นแนวนอนที่มีความยาว งูนี้สามารถหมุนร่างของมันได้ 90 องศา หากเรากำหนดด้านหน้าของงูให้อยู่ทางซ้ายสุดเพื่อเริ่มต้นการหมุนจะย้ายส่วนหลังของงูและส่วนหน้าจะคงอยู่ ด้วยการหมุนวนซ้ำ ๆ มันสามารถสร้างรูปร่างของงูที่แตกต่างกันได้มากมาย กฎระเบียบ ส่วนหนึ่งของร่างกายของงูไม่สามารถทับซ้อนกันได้ จะต้องมีความเป็นไปได้ที่จะเข้าถึงการปฐมนิเทศครั้งสุดท้ายโดยไม่มีส่วนใดส่วนหนึ่งของร่างกายของงูทับซ้อนกัน จุดสองจุดที่สัมผัสถูกนับว่าทับซ้อนกันในปัญหานี้ ฉันถือว่างูและสิ่งที่ตรงกันข้ามเป็นรูปร่างเดียวกัน งาน ขึ้นอยู่กับการหมุนการแปลและกระจกสมมาตรรูปร่างของงูที่แตกต่างกันทั้งหมดที่สามารถทำได้คืออะไร? ตัวอย่างของการหมุนของส่วนของร่างกายของงู ลองนึกภาพn=10และงูอยู่ในทิศทางเริ่มต้นของเส้นตรง ตอนนี้หมุนที่จุด490 องศาทวนเข็มนาฬิกา เราได้รับงูจาก 4ไปที่10(หางของงู) นอนในแนวตั้งและงูจาก0การ4นอนในแนวนอน ตอนนี้งูมีมุมฉากอยู่หนึ่งตัว นี่คือตัวอย่างบางส่วนขอบคุณ Martin Büttner เราเริ่มต้นด้วยงูแนวนอน ตอนนี้เราหมุนจากตำแหน่ง 4 เราจบลงหลังจากการหมุนในทิศทางนี้ ตอนนี้ให้เราพิจารณาการวางแนวของงูตัวอื่น ตอนนี้เราสามารถเห็นการเคลื่อนไหวที่ผิดกฎหมายซึ่งจะมีการทับซ้อนเกิดขึ้นในระหว่างการหมุน คะแนน คะแนนของคุณมากที่สุดnซึ่งรหัสของคุณสามารถแก้ไขปัญหาได้ในเวลาไม่ถึงหนึ่งนาทีในคอมพิวเตอร์ของฉัน เมื่อมีการหมุนเกิดขึ้นมันจะเลื่อนงูไปครึ่งหนึ่งด้วย เราต้องกังวลว่าส่วนใดส่วนหนึ่งที่หมุนอยู่นี้อาจซ้อนทับส่วนหนึ่งของงูระหว่างการหมุน เพื่อความง่ายเราสามารถสมมติว่างูมีความกว้างเป็นศูนย์ คุณสามารถหมุนที่จุดใดจุดหนึ่งในงูได้สูงสุด 90 องศาตามเข็มนาฬิกาของทวนเข็มนาฬิกา สำหรับคุณไม่สามารถพับงูเป็นสองเท่าได้อย่างเต็มที่เนื่องจากจะมีการหมุนสองรอบที่จุดเดียวกันในทิศทางเดียวกัน รูปร่างที่ไม่สามารถทำได้ Tตัวอย่างง่ายๆของรูปร่างที่ไม่สามารถทำให้เป็นทุน รุ่นที่ซับซ้อนมากขึ้นคือ (ขอบคุณ Harald Hanche-Olsen …

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