คำถามติดแท็ก fewest-operations

การดำเนินการน้อยที่สุดวัดจำนวนของ "การดำเนินการ" ที่ระบุที่ดำเนินการในเวลาดำเนินการ

6
ทำคะแนนเส้นทางการแกว่งเถาไวน์ของทาร์ซาน
เถาองุ่นโอลิมปิกดำเนินการตามปกติในต้นไม้มาตรฐาน โดยเฉพาะอย่างยิ่งแผนภูมิมาตรฐานnมีจุดยอดสำหรับการ0ขึ้นn-1และขอบการเชื่อมโยงจุดยอดที่ไม่ใช่ศูนย์แต่ละจุดaกับจุดยอดn % aด้านล่าง ตัวอย่างเช่นต้นไม้มาตรฐาน 5 มีลักษณะดังนี้: 3 | 2 4 \ / 1 | 0 เนื่องจากส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 3 คือ 2 ส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 2 หรือ 4 คือ 1 และส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 1 คือ 0 ในปีนี้ทาร์ซานจะได้รับการปกป้องทองของเขากับการปฏิบัติใหม่ซึ่งแต่ละเริ่มต้นที่ยอดn - 1ชิงช้าจุดสุดยอดn - 2ยังคงจุดสุดยอดn - 3ฯลฯ 0จนในที่สุดเขาปลดจุดสุดยอด คะแนนสำหรับกิจวัตรประจำวันคือผลรวมของคะแนนสำหรับการสวิงแต่ละครั้ง (รวมถึงการลงจากหลังม้า) และคะแนนสำหรับการสวิงคือระยะทางภายในต้นไม้ระหว่างจุดเริ่มต้นและจุดสิ้นสุด ดังนั้นรูทีนของทาร์ซานบนต้นไม้มาตรฐาน 5 มีคะแนน …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

7
ค้นหาชีส
อัปเดต:มี 6 เขาวงกต พวกมันรวมอยู่ในคอนโทรลเลอร์ มี tar.gz ของเขาวงกตและไฟล์. bmp ที่นี่ (ดรอปบ็อกซ์) นอกจากนี้ยังมียูทิลิตี้สำหรับสร้างเขาวงกตเพิ่มเติมที่ลิงก์นั้น (ไฟล์ maze_4.txt ไม่ถูกต้องในการเก็บถาวร) เมื่อมาถึงจุดนี้โปรดลงคะแนนของคุณเองและอัพเดทคะแนนของคุณ รายละเอียดเกี่ยวกับวิธีการดังกล่าวรวมอยู่ที่ด้านล่าง หากคุณมีคำถามหรือปัญหาโปรด ping ฉันในการแชท คุณเป็นหนู คุณอยู่ในเขาวงกต ค้นหาชีส แนวคิด คุณอยู่ในเขาวงกตที่มีอยู่ในตารางสี่เหลี่ยม แต่ละพื้นที่ของกริดมีหนึ่งในหลายสิ่ง: ! - กำแพงที่ไม่สามารถใช้ได้ - พื้นที่ว่างซึ่งสามารถผ่านได้ O - คุณหนู + - ชีสเป้าหมายของคุณ โปรดใช้ตัวอักษรเดียวกันเพื่อที่ฉันจะได้ไม่ต้องแก้ไขคอนโทรลเลอร์ ในแต่ละเทิร์นคุณจะได้รับไพ่ที่อยู่เหนือ, ใต้, ตะวันออกและตะวันตกของตำแหน่งปัจจุบันของคุณ จากนั้นคุณจะต้องออกทิศทางที่คุณต้องการเดินทาง คุณชนะเมื่อคุณไปถึงชีส น้อยกว่าขั้นตอนจะดีกว่า อินพุต คุณจะได้รับข้อมูลผ่าน stdin ในรูปแบบต่อไปนี้: neswโดยที่ตัวอักษรแต่ละตัวแทนแผ่นกระเบื้องที่จุดเข็มทิศนั้น ตัวอย่างเช่นหากสถานะปัจจุบันดูเหมือนว่า ! …

9
อัลกอริธึมที่เร็วที่สุดในการนำผลิตภัณฑ์ของชุดย่อยทั้งหมด
ได้รับnตัวเลขในอาร์เรย์ (คุณไม่สามารถถือว่าพวกเขาเป็นจำนวนเต็ม) n-1ผมอยากจะคำนวณสินค้าย่อยทุกขนาด คุณสามารถทำได้โดยการคูณตัวเลขทั้งหมดเข้าด้วยกันแล้วหารด้วยตัวเลขแต่ละตัวตามลำดับตราบใดที่ไม่มีตัวเลขใดเป็นศูนย์ อย่างไรก็ตามคุณสามารถทำสิ่งนี้ได้อย่างรวดเร็วโดยไม่มีการแบ่ง? หากคุณไม่อนุญาตให้มีการหารจำนวนการดำเนินการทางคณิตศาสตร์ขั้นต่ำ (เช่นการคูณและการเพิ่ม) จำเป็นต้องคำนวณผลิตภัณฑ์ของชุดย่อยทั้งหมดที่มีขนาด n-1 เป็นเท่าใด เห็นได้ชัดว่าคุณสามารถทำได้(n-1)*nหลายวิธี เพื่อชี้แจงผลลัพธ์ที่ได้คือnผลิตภัณฑ์ที่แตกต่างกันและการดำเนินการเฉพาะนอกเหนือจากการอ่านและการเขียนไปยังหน่วยความจำที่อนุญาตคือการคูณการบวกและการลบ ตัวอย่าง ถ้าใส่มีเลขสาม2,3,5แล้วออกเป็นสามตัวเลข15 = 3*5, และ10 = 2*56 = 2*3 เกณฑ์การชนะ nคำตอบควรให้เป็นสูตรที่แน่นอนสำหรับจำนวนของการดำเนินการทางคณิตศาสตร์รหัสของพวกเขาจะใช้ในแง่ของ เพื่อให้ชีวิตง่ายขึ้นฉันแค่เสียบn = 1000สูตรของคุณเพื่อตัดสินคะแนน ยิ่งต่ำยิ่งดี หากมันยากเกินไปที่จะสร้างสูตรที่แน่นอนสำหรับรหัสของคุณคุณสามารถเรียกใช้n = 1000และนับการดำเนินการทางคณิตศาสตร์ในรหัสได้ สูตรที่แน่นอนจะดีที่สุดอย่างไรก็ตาม คุณควรเพิ่มคะแนนn=1000ของคุณเป็นคำตอบสำหรับการเปรียบเทียบง่าย ๆ

2
ปรับการเรียงลำดับให้เหมาะสมโดยใช้“ การพลิกกลับ Sub-vector”
นี่เป็นความท้าทายในการดำเนินงานที่น้อยที่สุดโดยมีวัตถุประสงค์เพื่อจัดเรียงเวกเตอร์เป็นลำดับจากน้อยไปหามากโดยใช้การกลับรายการที่น้อยที่สุด อัลกอริทึมของคุณสามารถเรียงลำดับเวกเตอร์โดยใช้ "การสลับกลับ sub-vector" 1แต่สามารถใช้การดำเนินการอื่นสำหรับการดำเนินการทางคณิตศาสตร์ลูปตรวจสอบว่าเรียงลำดับหรือไม่เป็นต้นจำนวนการสลับกลับของเวกเตอร์ย่อย 1 A "การกลับรายการย่อยของเวกเตอร์": เลือกช่วงของตัวเลขในเวกเตอร์และย้อนกลับองค์ประกอบในช่วงนั้น ในการให้ตัวอย่างง่ายๆถ้าคุณเริ่มต้นด้วยเวกเตอร์{4,3,2,1}คุณสามารถเรียงลำดับได้หลายวิธี: ย้อนกลับเวกเตอร์ทั้งหมด เห็นได้ชัดว่านี่เป็นวิธีที่สั้นที่สุดเนื่องจากต้องการการกลับรายการเพียงครั้งเดียวเท่านั้น:{4,3,2,1} -> {1,2,3,4} คุณสามารถทำบับเบิลการเรียงลำดับซึ่งต้องย้อนกลับ 6 ครั้ง: {4,3,2,1} -> {3,4,2,1} -> {3,2,4,1} -> {2,3,4,1} -> {2,3,1,4} -> {2,1,3,4} -> {1,2,3,4} คุณสามารถเริ่มต้นด้วยองค์ประกอบ 3 ประการแรกจากนั้นจึงสามองค์ประกอบสุดท้ายและสุดท้ายทั้งสององค์ประกอบแรกและอีกสองครั้งสุดท้ายซึ่งต้องใช้ 4 swaps: {4,3,2,1} -> {2,3,4,1} -> {2,1,4,3} -> {1,2,4,3} -> {1,2,3,4} ... และต่อไป มีตัวเลือกไม่ จำกัด จำนวน (คุณสามารถทำซ้ำการดำเนินการใด …

15
ความท้าทายทางเรขาคณิต
ทุกคนรักรูปทรงเรขาคณิต เหตุใดเราจึงไม่ลองและเขียนรหัสมัน ความท้าทายนี้เกี่ยวข้องกับการใช้ตัวอักษรและตัวเลขและทำให้รูปร่างขึ้นอยู่กับมัน การป้อนข้อมูล อินพุตจะอยู่ในรูปแบบของ (shapeIdentifier)(size)(inverter)การป้อนข้อมูลจะอยู่ในรูปแบบของ แต่รูปร่างคือตัวระบุขนาดและอินเวอร์เตอร์คืออะไร ตัวระบุรูปร่างเป็นตัวระบุสำหรับประเภทของรูปร่างที่คุณจะทำกับ*s ต่อไปนี้เป็นตัวระบุรูปร่าง: s - จัตุรัส t - สามเหลี่ยม ขนาดจะอยู่ระหว่าง1-20และเป็นขนาดของรูป อินเวอร์เตอร์เป็นหรือไม่รูปร่างจะถูกลงคว่ำซึ่งจะเขียนแทนด้วยหรือ+ -หมายเหตุ: s3-== (เท่ากับ) s3+เพราะกำลังสองเป็นสมมาตร อย่างไรก็ตามt5-! = t5+(ไม่เท่ากับ) ช่องว่างต่อท้ายนั้นไม่เป็นไรในผลลัพธ์ แต่ช่องว่างชั้นนำไม่ ตัวอย่างผลลัพธ์ Input: s3+ Output: *** *** *** Input: t5+ Output: * *** ***** Input: t3- Output: *** * หมายเหตุพิเศษ อินพุตสามเหลี่ยมจะเป็นเลขคี่เสมอดังนั้นสามเหลี่ยมจะลงท้ายด้วย 1 *ที่ด้านบนเสมอ ขนาดของรูปสามเหลี่ยมคือขนาดของฐานถ้าอินเวอร์เตอร์เป็น และมีขนาดของด้านบนถ้าอินเวอร์เตอร์เป็น+-
23 code-golf  string  ascii-art  geometry  code-golf  ascii-art  subsequence  fewest-operations  test-battery  code-golf  array-manipulation  bitwise  code-golf  interactive  code-golf  music  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  simulation  code-golf  string  classification  code-golf  sequence  base-conversion  palindrome  code-golf  kolmogorov-complexity  code-golf  date  astronomy  code-golf  sequence  base-conversion  code-golf  geometry  combinatorics  code-golf  string  code-golf  math  array-manipulation  code-challenge  math  code-golf  card-games  code-challenge  array-manipulation  sorting  code-golf  code-golf  math  abstract-algebra  polynomials  code-golf  palindrome  factoring 

3
แฟคตอริ่งจำนวนเต็ม 64 บิต
เขียนโปรแกรมการประกอบGOLFที่อ่านจำนวนเต็มจาก stdin (ตามด้วยการขึ้นบรรทัดใหม่) และแสดงผลลัพธ์ปัจจัยหลักแยกจากบรรทัดใหม่ตามด้วยบรรทัดใหม่ต่อท้ายที่ stdout ปัจจัยสำคัญไม่จำเป็นต้องอยู่ในลำดับที่เฉพาะเจาะจง 1ไม่ใช่ปัจจัยสำคัญ GOLFไบนารี่ของคุณ(หลังจากประกอบ) จะต้องมีขนาด 8192 ไบต์ โปรแกรมของคุณจะได้คะแนนจากการรัน 10 ครั้งแต่ละรายการมีหนึ่งในอินพุตต่อไปนี้: 8831269065180497 2843901546547359024 6111061272747645669 11554045868611683619 6764921230558061729 16870180535862877896 3778974635503891117 204667546124958269 16927447722109721827 9929766466606501253 ตัวเลขเหล่านี้จะถูกจัดเรียงในแง่ของความยากลำบาก คนแรกควรได้รับการแก้ไขโดยแผนกทดลอง การปรับให้เหมาะสมกับชุดของตัวเลขนี้ขัดต่อจิตวิญญาณของคำถามฉันอาจเปลี่ยนชุดตัวเลขได้ทุกเมื่อ โปรแกรมของคุณจะต้องใช้งานได้กับหมายเลขอินพุต 64 บิตที่เป็นบวกใด ๆ คะแนนของคุณคือผลรวมของรอบ CPU ที่ใช้เพื่อคำนึงถึงตัวเลขข้างต้น เนื่องจากGOLFเป็นของใหม่ฉันจะใส่พอยน์เตอร์ไว้ที่นี่ คุณควรอ่านGOLFสเปคที่มีคำแนะนำและค่าใช้จ่ายวงจร ในโปรแกรมตัวอย่างที่เก็บ Github สามารถพบได้ โดยเฉพาะอย่างยิ่งดูที่โปรแกรมตัวอย่างแบบแฟคทอเรียลซึ่งแสดงให้เห็นถึงอินพุต / เอาต์พุต python3 assemble.py your_source.golfรวบรวมโปรแกรมของคุณเพื่อไบนารีโดยการเรียกใช้ จากนั้นเรียกใช้โปรแกรมของคุณโดยpython3 golf.py your_source.binควรพิมพ์จำนวนรอบด้วย ดูค่าของเนื้อหาการลงทะเบียนที่โปรแกรมออกด้วยการ-dตั้งค่าสถานะ - …

4
ระบุสตริงจากสตริงย่อย
บทนำ ก่อนหน้านี้ฉันได้สร้างความท้าทายสอง ประการโดยที่ความคิดคือการสร้างวัตถุขึ้นใหม่โดยใช้การดำเนินการชนิดแบบสอบถามน้อยที่สุดเท่าที่จะทำได้ นี่จะเป็นครั้งที่สาม งาน ปัจจัยการผลิตของท่านจะเป็นสตริงที่ไม่ว่างเปล่าSมากกว่าตัวอักษรและความยาวของมันและส่งออกของคุณจะเป็นabc Sไม่มีข้อ จำกัด แน่นอนว่านี่จะเป็นงานที่ไม่สำคัญ การจับคือคุณไม่ได้รับอนุญาตให้เข้าถึงSโดยตรง สิ่งเดียวที่คุณจะได้รับอนุญาตจะทำอย่างไรเพื่อSที่จะเรียกใช้ฟังก์ชันnum_occur(T, S)ที่Tบางสายอื่น ๆ และnum_occurนับจำนวนของการเกิดขึ้นของในT Sการทับซ้อนที่เกิดขึ้นนั้นนับว่าแตกต่างกันดังนั้นnum_occur(T, S)จะส่งคืนจำนวนดัชนีiเช่นนั้น S[i, i+1, …, i+length(T)-1] == T ยกตัวอย่างเช่นจะกลับมาnum_occur("aba", "cababaababb") 3ยังทราบว่าจะกลับมาnum_occur(S, S) 1ผลลัพธ์ของnum_occur("", S)คือไม่ได้กำหนดและคุณไม่ควรเรียกใช้ฟังก์ชันบนสตริงว่าง ในระยะสั้นคุณควรเขียนฟังก์ชั่นหรือโปรแกรมที่ใช้Sและlength(S)เป็นอินพุตเรียกnum_occurใช้สตริงที่สั้นกว่าและSจำนวนครั้งที่สร้างขึ้นSจากข้อมูลนั้นและส่งคืน กฎและการให้คะแนน เป้าหมายของคุณคือเขียนโปรแกรมที่โทรออกให้น้อยnum_occurที่สุดเท่าที่จะทำได้ ในแหล่งเก็บข้อมูลนี้abc_strings.txtคุณจะพบไฟล์ที่เรียกว่า ไฟล์มี 100 สตริงแต่ละรายการมีความยาวระหว่าง 50 ถึง 99 คะแนนของคุณคือจำนวนการโทรทั้งหมดไปยังnum_occurอินพุตเหล่านี้คะแนนที่ต่ำกว่าจะดีกว่า โซลูชันของคุณควรติดตามหมายเลขนี้ในขณะที่ทำงานและพิมพ์เมื่อเสร็จสิ้น สตริงจะถูกสร้างขึ้นโดยการเลือกตัวอักษรแบบสุ่มสม่ำเสมอจากabc; คุณได้รับอนุญาตให้ปรับให้เหมาะสมสำหรับวิธีนี้ในการสร้างสตริง แต่ไม่ใช่สตริงเอง ไม่มีการ จำกัด เวลายกเว้นว่าคุณควรใช้วิธีการแก้ปัญหาของคุณในกรณีทดสอบก่อนที่จะส่ง วิธีแก้ปัญหาคุณควรใช้งานได้กับอินพุตที่ถูกต้องSไม่ใช่เฉพาะกรณีทดสอบ คุณควรแบ่งปันการดำเนินการของคุณnum_occurด้วยหากคุณไม่ได้ใช้ของคนอื่น เพื่อให้ลูกบอลกลิ้งนี่คือการนำไปใช้ใน Python: …

1
ดิสก์ที่เขียนน้อยที่สุดเพื่อจัดเรียงข้อมูลหลายไฟล์
บทนำ ดิสก์เป็นภาชนะเชิงเส้นที่มีการจัดทำดัชนีบล็อกผ่าน0size-1 ไฟล์คือรายการชื่อของดัชนีบล็อกที่ใช้โดยไฟล์นั้น ตัวอย่างระบบไฟล์แสดงดังนี้: 15 ALPHA=3,5 BETA=11,10,7 "ดิสก์มี 15 บล็อกบล็อกแรกของไฟล์ ALPHA คือบล็อกดิสก์ที่ดัชนี 3 ... " แผนที่ดิสก์สามารถวาดได้ดังนี้: Block Index 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 Contents | | | |A0 | |A1 | |B2 | | |B1 |B0 | | | | …

1
รู้ลำดับโดยเรียงตามลำดับ
บทนำ สมมติว่าคุณและเพื่อนกำลังเล่นเกม เพื่อนของคุณคิดถึงลำดับของnบิตบางอย่างและงานของคุณคือการอนุมานลำดับโดยถามคำถาม อย่างไรก็ตามคำถามประเภทเดียวที่คุณได้รับอนุญาตให้ถามคือ "นานแค่ไหนที่การเรียงลำดับทั่วไปที่ยาวที่สุดของลำดับของคุณและS" ซึ่งSเป็นลำดับของบิตใด ๆ คำถามที่คุณต้องการน้อยลงเท่านั้น งาน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็น input เป็นจำนวนเต็มบวกnและลำดับไบนารีของความยาวR nลำดับอาจเป็นอาร์เรย์ของจำนวนเต็มสตริงหรือประเภทอื่น ๆ ที่คุณต้องการ Rโปรแกรมของคุณจะส่งออกลำดับ โปรแกรมของคุณไม่ได้รับอนุญาตให้เข้าถึงลำดับRโดยตรง เพียงสิ่งที่จะได้รับอนุญาตให้ทำอย่างไรเพื่อRที่จะให้มันเป็น input เพื่อฟังก์ชั่นพร้อมกับลำดับไบนารีอื่นlen_lcs Sฟังก์ชั่นlen_lcs(R, S)ส่งกลับความยาวของ subsequence ทั่วไปที่ยาวที่สุดของและR Sซึ่งหมายความว่าลำดับที่ยาวที่สุดของบิตซึ่งเกิดขึ้นเป็น (ไม่จำเป็นต้องต่อเนื่องกัน) subsequence ทั้งในและR Sอินพุตlen_lcsที่อาจมีความยาวแตกต่างกัน โปรแกรมควรเรียกใช้ฟังก์ชันนี้Rและลำดับอื่น ๆ ตามจำนวนครั้งแล้วสร้างลำดับใหม่Rตามข้อมูลนั้น ตัวอย่าง พิจารณาปัจจัยการผลิตและn = 4 R = "1010"อันดับแรกเราอาจประเมินlen_lcs(R, "110")ซึ่งจะช่วยให้3เนื่องจาก"110"เป็น subsequence ทั่วไปที่ยาวที่สุดของและ"1010" "110"จากนั้นเราก็รู้ว่าRได้มาจากการ"110"แทรกตำแหน่งหนึ่งบิตในบางตำแหน่ง ต่อไปเราอาจลองlen_lcs(R, "0110")ซึ่งผลตอบแทน3ตั้งแต่ลำดับที่ยาวที่สุดร่วมกัน"110"และ"010"ดังนั้นจึง"0110"ไม่ถูกต้อง จากนั้นเราก็พยายามซึ่งผลตอบแทนlen_lcs(R, "1010") 4ตอนนี้เรารู้R == "1010"แล้วดังนั้นเราสามารถกลับลำดับนั้นเป็นเอาต์พุตที่ถูกต้อง …

4
การเพิ่มประสิทธิภาพความท้าทายด้วยเหรียญแปลก ๆ
คุณมีnเหรียญที่แต่ละคนมีน้ำหนัก -1 หรือ 1 แต่ละคนมีป้ายกำกับจาก0เพื่อn-1ให้คุณสามารถแยกเหรียญ คุณมีอุปกรณ์ชั่งน้ำหนัก (เวทมนต์) หนึ่งชิ้นเช่นกัน ในตอนแรกคุณสามารถใส่เหรียญได้มากเท่าที่คุณต้องการบนอุปกรณ์ชั่งน้ำหนักซึ่งสามารถวัดได้ทั้งน้ำหนักติดลบและบวกและจะบอกคุณได้อย่างแม่นยำ อย่างไรก็ตามมีบางอย่างแปลก ๆ เกี่ยวกับอุปกรณ์ชั่งน้ำหนัก หากคุณใส่เหรียญx_1, x_2, ..., x_jลงในอุปกรณ์เป็นครั้งแรกในครั้งต่อไปคุณต้องใส่เหรียญ(x_1+1), (x_2+1) , ..., (x_j+1)ในเครื่องชั่งยกเว้นคุณไม่สามารถใส่เหรียญที่มีหมายเลขสูงกว่าn-1ได้ ไม่เพียงเท่านั้นสำหรับการชั่งน้ำหนักใหม่ทุกครั้งที่คุณเลือกถ้าคุณต้องการใส่เหรียญ0ลงในเครื่องชั่ง ภายใต้กฎนี้จำนวนการชั่งน้ำหนักที่เล็กที่สุดที่จะบอกคุณได้ว่าเหรียญใดมีน้ำหนัก 1 และน้ำหนักใด -1 เห็นได้ชัดว่าคุณสามารถใส่เหรียญ0ลงในอุปกรณ์ในเทิร์นแรกจากนั้นจะต้องใช้การnชั่งน้ำหนักเพื่อแก้ไขปัญหา ภาษาและห้องสมุด คุณสามารถใช้ภาษาหรือห้องสมุดที่คุณชอบ (ที่ไม่ได้ออกแบบมาสำหรับความท้าทายนี้) อย่างไรก็ตามฉันต้องการทดสอบโค้ดของคุณถ้าเป็นไปได้ดังนั้นหากคุณสามารถให้คำแนะนำที่ชัดเจนเกี่ยวกับวิธีการเรียกใช้ใน Ubuntu ที่จะได้รับการชื่นชมอย่างมาก คะแนน สำหรับnคะแนนของคุณจะถูกnหารด้วยจำนวนน้ำหนักที่คุณต้องการในกรณีที่แย่ที่สุด คะแนนที่สูงขึ้นจึงดีกว่า ไม่มีข้อมูลเกี่ยวกับตัวต่อนี้ แต่เป้าหมายของคุณคือค้นหาสิ่งnที่คุณจะได้รับคะแนนสูงสุด หากมีการเสมอกันคำตอบแรกจะชนะ ในสถานการณ์ที่ไม่น่าเป็นไปได้อย่างมากที่มีคนพบวิธีที่จะได้รับคะแนนอนันต์บุคคลนั้นจะชนะทันที งาน งานของคุณคือการเขียนโค้ดที่ได้คะแนนสูงสุด รหัสของคุณจะต้องเลือกทั้งสองอย่างอย่างชาญฉลาดแล้วจึงปรับจำนวนน้ำหนักให้nเหมาะสม รายการชั้นนำ 4/3 7/5 ในPythonโดย Sarge Borsch 26/14 ในJavaโดย …

3
ค้นหารูปแบบในเงื่อนไข
ในความท้าทายนี้งานของคุณคือการหาวัสดุพิมพ์ที่มีโครงสร้างที่กำหนด อินพุต ข้อมูลของคุณจะเป็นสองสายที่เป็นตัวเลขไม่ว่างเปล่าเป็นรูปแบบ pและข้อความ tแนวคิดก็คืออักขระแต่ละตัวจะpแทนซับสตริงที่ไม่ว่างเปล่าที่ต่อเนื่องกันtซึ่งเกิดขึ้นถัดจากกันและกันและpแสดงถึงการต่อกันของมัน อักขระที่เหมือนกันสอดคล้องกับสตริงย่อยที่เหมือนกัน ตัวอย่างเช่นรูปแบบaaหมายถึงสแควร์ที่ไม่ว่างเปล่า (สตริงที่ได้จากการต่อสตริงที่สั้นกว่าเข้ากับตัวเอง) ดังนั้นรูปแบบaaสามารถจับคู่สตริงย่อยbyebyeได้ด้วยการaจับคู่แต่ละbyeครั้ง เอาท์พุต หากข้อความที่tมีสตริงย่อยที่pการแข่งขันแล้วส่งออกของคุณจะเป็นสตริงย่อยที่มีทวิภาคแทรกระหว่างสตริงที่ตรงกับตัวละคร: pตัวอย่างเช่นถ้าเรามีt = byebyenowและp = aaก็bye:byeเป็นผลลัพธ์ที่ยอมรับได้ อาจมีหลายตัวเลือกสำหรับสตริงย่อยที่ตรงกัน แต่คุณจะส่งออกหนึ่งในพวกเขาเท่านั้น ถ้าtไม่ได้มี substring :(จับคู่ของคุณออกจะเป็นหน้าเศร้า กฎและคำชี้แจง ตัวละครที่แตกต่างกันpสามารถสอดคล้องกับสตริงเหมือนกันเพื่อให้สามารถจับคู่สตริงp = aba AAAโปรดทราบว่าตัวละครจะต้องสอดคล้องกับสตริงที่ไม่ว่างเปล่า; โดยเฉพาะอย่างยิ่งถ้าpมีความยาวมากกว่าการส่งออกจะต้องมีt:( คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบและคุณยังสามารถเปลี่ยนลำดับของอินพุตทั้งสองได้ จำนวนไบต์ต่ำสุดที่ชนะและไม่อนุญาตช่องโหว่มาตรฐาน กรณีทดสอบ pattern text -> outputได้รับในรูปแบบ โปรดทราบว่าอาจมีเอาต์พุตอื่นที่ยอมรับได้ a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

4
ทดสอบว่าตัวเลขเป็นสี่เหลี่ยมหรือไม่
เขียนGOLFโปรแกรมการชุมนุมว่าได้รับแบบ 64 บิตจำนวนเต็มไม่ได้ลงนามในการลงทะเบียนnทำให้ไม่เป็นศูนย์ค่าลงทะเบียนsถ้าnเป็นตารางที่มิฉะนั้นเข้าไป0s GOLFไบนารี่ของคุณ(หลังการประกอบ) จะต้องมีขนาด 4096 ไบต์ โปรแกรมของคุณจะได้รับคะแนนโดยใช้โปรแกรม Python3 ต่อไปนี้ (ซึ่งจะต้องใส่ไว้ในไดเรกทอรีGOLF ): import random, sys, assemble, golf, decimal def is_square(n): nd = decimal.Decimal(n) with decimal.localcontext() as ctx: ctx.prec = n.bit_length() + 1 i = int(nd.sqrt()) return i*i == n with open(sys.argv[1]) as in_file: binary, debug = assemble.assemble(in_file) score = 0 …

3
สร้างการเรียงสับเปลี่ยน
บทนำ สมมติว่าคุณได้รับการเปลี่ยนรูปแบบสุ่มของnวัตถุ การเรียงสับเปลี่ยนถูกผนึกไว้ในกล่องดังนั้นคุณจึงไม่รู้ว่าเป็นn!ไปได้ใด หากคุณพยายามที่จะใช้การเรียงสับเปลี่ยนกับnวัตถุที่แตกต่างคุณสามารถอนุมานตัวตนได้ทันที อย่างไรก็ตามคุณได้รับอนุญาตให้ใช้การเปลี่ยนแปลงกับnเวกเตอร์ไบนารี่แบบยาวซึ่งหมายความว่าคุณจะต้องใช้มันหลายครั้งเพื่อที่จะจดจำมัน เห็นได้ชัดว่านำไปใช้กับnเวกเตอร์ที่มีเพียง1งานเดียว แต่ถ้าคุณฉลาดคุณสามารถทำได้ด้วยlog(n)แอปพลิเคชัน รหัสสำหรับวิธีการนั้นจะยาวกว่า ... นี่เป็นความท้าทายทดสอบที่คะแนนของคุณเป็นการรวมกันของความยาวของรหัสและความซับซ้อนของแบบสอบถามซึ่งหมายถึงจำนวนการโทรไปยังกระบวนการเสริม สเป็คค่อนข้างยาวดังนั้นทนกับฉัน งาน งานของคุณคือการเขียนฟังก์ชั่นที่ มีชื่อ (หรือเทียบเท่าที่ใกล้เคียงที่สุด)fที่ใช้เป็นอินพุตจำนวนเต็มบวกnและการเปลี่ยนแปลงpของnจำนวนเต็มแรกโดยใช้การทำดัชนีตาม 0 หรือ 1 pการส่งออกของมันคือการเปลี่ยนลําดับ แต่คุณจะไม่ได้รับอนุญาตให้เข้าถึงการเปลี่ยนลําดับpโดยตรง สิ่งเดียวที่คุณทำได้คือใช้มันกับเวกเตอร์ใด ๆ ของnบิต เพื่อจุดประสงค์นี้คุณจะต้องใช้ฟังก์ชั่นเสริมPที่ใช้เวลาในการเปลี่ยนแปลงpและเวกเตอร์ของบิตvและผลตอบแทนเวกเตอร์ permuted ซึ่งp[i]TH v[i]ประสานงานมีบิต ตัวอย่างเช่น: P([1,2,3,4,0], [1,1,0,0,0]) == [0,1,1,0,0] คุณสามารถแทนที่ "บิต" กับสองค่าที่แตกต่างใด ๆ เช่น3และ-4หรือ'a'และ'b'และพวกเขาไม่จำเป็นต้องได้รับการแก้ไขเพื่อให้คุณสามารถเรียกPกับทั้ง[-4,3,3,-4]และในสายเดียวกัน[2,2,2,1] fคำจำกัดความของPจะไม่ถูกนับรวมกับคะแนนของคุณ เกณฑ์การให้คะแนน ซับซ้อนแบบสอบถามPของการแก้ปัญหาของคุณกับการป้อนข้อมูลที่ได้รับเป็นจำนวนของสายมันทำให้ฟังก์ชั่นเสริม เพื่อให้การวัดนี้มีความชัดเจนโซลูชันของคุณจะต้องกำหนดขึ้น คุณสามารถใช้ตัวเลขปลอมที่สร้างขึ้นแบบสุ่มได้ แต่คุณต้องแก้ไขเมล็ดเริ่มต้นสำหรับตัวสร้าง ในพื้นที่เก็บข้อมูลนี้คุณจะพบไฟล์ชื่อpermutations.txtที่มี 505 permutations, 5 ของแต่ละความยาวระหว่าง 50 และ …

2
Image Hide-and-Seek
ในความท้าทายนี้คุณต้องค้นหาพิกเซลที่เฉพาะเจาะจงภายในภาพถ่าย (ถ่ายด้วยกล้องจริง) คุณจะผ่าน (R, G, B) tuple และภาพและคุณต้องการที่จะกลับมาเป็นจุด (x, y) ภายในภาพที่ตรงกับสี RGB ที่กำหนด รูปภาพอาจมีหลายจุดที่ตรงกับสี คุณจะต้องพบ 1 ความท้าทายคือการที่คุณต้องทำมันในขณะที่อ่านเป็นพิกเซลน้อยที่สุด คะแนนของคุณจะเป็นจำนวนพิกเซลทั้งหมดที่อ่านได้ในทุกกรณีทดสอบ หากคุณต้องการคุณสามารถอ่านภาพทั้งหมดเป็นอาร์เรย์ของค่า RGB ตราบใดที่คุณไม่ได้ทำการประมวลผลใด ๆ กับพิกเซล ฉันอนุญาตสิ่งนี้อย่างหมดจดเพื่อวัตถุประสงค์ด้านประสิทธิภาพ ตัวอย่างเช่นใน Python list(Image.open("image_name+".jpg").convert("RGB").getdata())ก็โอเค ไม่อนุญาตให้ใช้ตำแหน่งฮาร์ดโค้ด อัลกอริทึมของคุณควรทำงานได้ดีมากกว่ากรณีทดสอบตามรายการด้านล่าง คุณไม่ได้รับอนุญาตให้บันทึกข้อมูลระหว่างกรณีทดสอบ ฉันเลือกค่า RGB ที่ปรากฏไม่บ่อยนัก ( <10) ในภาพ (ในกรณีที่สร้างความแตกต่างสำหรับอัลกอริทึมของคุณ) หากคุณใช้การสุ่มในอัลกอริทึมของคุณโปรดตั้งค่าเมล็ดเพื่อให้คะแนนของคุณคงที่ ภาพสามารถพบได้ในGithub กรณีทดสอบ: image_name: (r, g, b) [all possible answers] barn: (143,91,33) [(887,1096),(2226,1397),(2007,1402),(2161,1508),(1187,1702)] …

2
การแข่งขันกอล์ฟ GOLF CPU: พาร์ติชั่นอันดับหนึ่ง
ความท้าทายนี้เป็นครั้งแรกของซีรีส์ของน้อยดำเนินงานปัญหาที่ควรจะเขียนในCPU GOLF คุณสามารถหาคนต่อไปที่นี่ พาร์ติชันของตัวเลขเป็นรายการตัวเลขที่เพิ่มขึ้นถึงN พาร์ทิชันที่สำคัญคือรายการของตัวเลขที่สำคัญที่เพิ่มขึ้นเป็นNN N ≥ 2สำหรับความท้าทายนี้คุณจะได้รับจำนวนเต็มเดียว Nคุณจำเป็นต้องสร้างพาร์ทิชันที่สำคัญที่สั้นที่สุดที่เป็นไปได้ หากมีหลายพาร์ติชันที่เป็นไปได้คุณสามารถพิมพ์พาร์ทิชันเหล่านั้นได้ ตัวอย่าง: 9: [2, 7] 12: [5, 7] 95: [89, 3, 3] 337: [337] 1023749: [1023733, 13, 3] 20831531: [20831323, 197, 11] โปรแกรมของคุณควรจะเขียนในGOLF CPU สำหรับอินพุต / เอาต์พุตคุณสามารถใช้ STDIO หรือรีจิสเตอร์ รายการสามารถอยู่ในลำดับใดก็ได้และหากคุณใช้ STDOUT สามารถคั่นด้วยช่องว่างหรือเครื่องหมายจุลภาค (ไม่ต้องใช้วงเล็บ) เห็นได้ชัดว่าการเข้ารหัสฮาร์ดไดร์ฟไม่ได้รับอนุญาตและไม่ได้เข้ารหัสฮาร์ดโค้ดมากกว่าสองสามช่วงแรก นี่เป็นปัญหาการดำเนินงานที่น้อยที่สุดดังนั้นคำตอบที่แก้ตัวอย่างข้างต้นด้วยจำนวนรอบที่น้อยที่สุดจะเป็นผู้ชนะ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.