คำถามติดแท็ก graph-theory

สำหรับความท้าทายเกี่ยวกับกราฟโครงสร้างทางคณิตศาสตร์ที่ใช้ในการสร้างแบบจำลองความสัมพันธ์ระหว่างวัตถุ

4
ค้นหาหมายเลขรงค์
น่าแปลกที่เรายังไม่มีความท้าทายในการระบายสีกราฟ! ด้วยกราฟที่ไม่ได้บอกทิศทางเราสามารถให้จุดสุดยอดสีแต่ละอันโดยที่ไม่มีจุดยอดสองจุดที่อยู่ติดกันใช้สีเดียวกัน จำนวนที่น้อยที่สุดχของสีที่แตกต่างกันจำเป็นเพื่อให้บรรลุนี้เรียกว่าสีจำนวนของกราฟ ตัวอย่างเช่นต่อไปนี้แสดงสีที่ถูกต้องโดยใช้จำนวนสีขั้นต่ำ: (พบใน Wikipedia) ดังนั้นจำนวนสีของกราฟนี้เป็นχ = 3 เขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดจำนวนจุดยอดN <16 (ซึ่งมีหมายเลขจาก1ถึงN ) และรายการของขอบกำหนดจำนวนสีของกราฟ คุณอาจได้รับอินพุตและสร้างเอาต์พุตในรูปแบบที่สะดวกใด ๆ ตราบใดที่อินพุตไม่ได้ถูกประมวลผลล่วงหน้า นั่นคือคุณสามารถใช้สตริงหรืออาร์เรย์เพิ่มตัวคั่นที่สะดวกให้กับสตริงหรือใช้อาร์เรย์ที่ซ้อนกัน แต่ไม่ว่าคุณจะทำอะไรโครงสร้างที่แบนควรมีตัวเลขเหมือนตัวอย่างด้านล่าง (ตามลำดับเดียวกัน) คุณไม่สามารถใช้ฟังก์ชั่นที่เกี่ยวข้องกับทฤษฎีกราฟในตัว (เช่น Mathematica ChromaticNumber) คุณอาจสมมติว่ากราฟไม่มีลูป (ขอบเชื่อมต่อจุดยอดด้วยตัวเอง) ซึ่งจะทำให้กราฟไม่สามารถละลายได้ นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ ตัวอย่าง โปรแกรมของคุณจะต้องแก้ปัญหาเหล่านี้อย่างน้อยในเวลาที่เหมาะสม (ต้องแก้ไขอินพุตทั้งหมดอย่างถูกต้อง แต่อาจใช้เวลานานกว่าสำหรับอินพุตที่ใหญ่กว่า) เพื่อทำให้โพสต์สั้นลงในตัวอย่างต่อไปนี้ฉันนำเสนอขอบในรายการที่คั่นด้วยเครื่องหมายจุลภาคเดียว คุณอาจใช้ตัวแบ่งบรรทัดหรือคาดว่าอินพุตในรูปแบบอาร์เรย์ที่สะดวกหากคุณต้องการ สามเหลี่ยม (χ = 3) 3 1 2, 2 3, 1 3 "วงแหวน" ของ 6 …

4
ทูตและนักแปล
เอกอัครราชทูตสองคนในการประชุมสหประชาชาติต้องการพูดคุยกัน แต่น่าเสียดายที่แต่ละคนพูดภาษาเดียวเท่านั้นและพวกเขาไม่ใช่ภาษาเดียวกัน โชคดีที่พวกเขาสามารถเข้าถึงนักแปลหลายคนซึ่งแต่ละคนเข้าใจและพูดได้หลายภาษา งานของคุณคือกำหนดโซ่นักแปลที่สั้นที่สุด (เนื่องจากคุณต้องการให้มีการสูญเสียการแปลน้อยที่สุดเท่าที่จะเป็นไปได้) ซึ่งทำให้ทูตทั้งสองสามารถพูดคุยกัน การเข้ารหัส อินพุต:สองภาษาเป็นสตริงตัวพิมพ์เล็ก 2 ตัวอักษร (แต่ละภาษาของเอกอัครราชทูต) และรายชื่อของภาษา (หนึ่งรายการต่อนักแปลที่มีอยู่) คุณอาจเลือกที่จะใช้จำนวนเต็มแทนรหัสตัวอักษร 2 ตัว เอาท์พุท:ลำดับของนักแปลไม่ว่าจะโดยดัชนีหรือค่าที่เป็นหนึ่งในกลุ่มที่สั้นที่สุดของนักแปลที่อนุญาตให้ทั้งสองทูตสื่อสาร หากไม่มีกลุ่มนักแปลที่ถูกต้องพฤติกรรมจะไม่ได้กำหนด (คุณอาจล้มเหลวส่งออกค่าใด ๆ หรือระบุข้อผิดพลาด) ห่วงโซ่การแปลที่ถูกต้องคือสิ่งที่นักแปลคนแรกพูดภาษาเอกอัครราชทูตคนที่หนึ่งและนักแปลที่สองและต่อมาแชร์อย่างน้อยหนึ่งภาษากับนักแปลคนก่อนหน้าและนักแปลคนสุดท้ายพูดภาษาแอมบาสเดอร์คนอื่น ตัวอย่าง ใช้การทำดัชนีแบบ zero-based: es, en, [ [es, en] ] ==> [0] en, en, [] ==> [] en, jp, [ [en, zh, ko, de], [jp, ko] ] ==> [0, …

5
รับสองจากหนึ่ง
ดังที่เราเห็นในคำถามนี้คำแถลงเชิงตรรกะที่ซับซ้อนสามารถแสดงออกได้ในแง่ของการเชื่อมต่ออย่างง่ายของเรือกวาดทุ่นระเบิดทั่วไป อย่างไรก็ตามเรือกวาดทุ่นระเบิดทั่วไปยังคงมีความซ้ำซ้อน เพื่อหลีกเลี่ยงความซ้ำซ้อนเหล่านี้เราได้กำหนดเกมใหม่ที่เรียกว่า "Generalized-1 Minesweeper" Generalized-1 Minesweeper เป็นเวอร์ชั่น Minesweeper ที่เล่นบนกราฟโดยพลการ กราฟมีจุดสุดยอดสองประเภทคือ "ตัวบ่งชี้" หรือ "ค่า" ค่าสามารถเป็นได้ทั้งเปิดหรือปิด (ทุ่นระเบิดหรือทึม) อย่างไรก็ตามสถานะของมันไม่เป็นที่รู้จักของผู้เล่น ตัวบ่งชี้บอกว่าหนึ่งในเซลล์ที่อยู่ติดกันอยู่บน (เหมือง) ตัวบ่งชี้ไม่นับเป็นเหมือง ตัวอย่างเช่นบอร์ดต่อไปนี้สำหรับเรือกวาดทุ่นระเบิด Generalized บอกเราว่าเซลล์ A และ B เป็นได้ทั้งเหมืองหรือไม่เป็นเหมือง (ในไดอะแกรมตัวบ่งชี้ถูกทำเครื่องหมายเป็นสีเทาในขณะที่ค่าเป็นสีขาว) ซึ่งแตกต่างจากเรือกวาดทุ่นระเบิดทั่วไปที่คุณคลิกค่าที่ปิดเพื่อแสดงตัวบ่งชี้ไม่มีช่างดังกล่าวในเรือกวาดทุ่นระเบิดทั่วไป ผู้เล่นเพียงแค่กำหนดว่ารัฐของกราฟสามารถตอบสนองตัวบ่งชี้ เป้าหมายของคุณคือสร้าง2เรือกวาดทุ่นระเบิด General-1 คุณจะสร้างโครงสร้างในทั่วไป-1 เรือกวาดทุ่นระเบิดดังกล่าวว่ามี 8 เซลล์ที่เฉพาะเจาะจงสำหรับการกำหนดค่าที่เป็นไปได้ทั้งหมดของค่าได้ว่าสองเซลล์บน นี่หมายความว่ามันทำงานได้ดีเหมือน2ในเรือกวาดทุ่นระเบิดแบบดั้งเดิม เมื่อคุณเขียนวิธีการแก้ปัญหาของคุณคุณไม่ควรมีค่าเฉพาะในใจสำหรับเซลล์ค่า (ในการตอบคำถามของ H.PWiz อนุญาตให้เซลล์ค่าบางค่าสามารถอนุมานได้จากสถานะ) เกณฑ์การให้คะแนน คำตอบของคุณจะได้รับคะแนนตามจำนวนของจุดยอดในกราฟสุดท้ายลบ 8 (สำหรับ 8 อินพุต) โดยมีคะแนนต่ำกว่าจะดีกว่า หากคำตอบสองคำเสมอกันในเมตริกนี้ตัวแบ่งไทเบรกจะเป็นจำนวนขอบ

14
แพดไฟล์ด้วยค่าศูนย์
งานของคุณในวันนี้คือการใช้ไฟล์ที่มีอยู่และต่อท้ายศูนย์จนถึงขนาดที่กำหนด คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นซึ่งใช้ชื่อของไฟล์ในไดเรกทอรีปัจจุบันที่และจำนวนของไบต์f bในขณะที่รักษาเนื้อหาต้นฉบับของfคุณจะต้องเขียนเลขศูนย์(null null ไม่ใช่ ascii 0s)ไปยังจุดสิ้นสุดเพื่อให้ขนาดใหม่เป็นbไบต์ คุณอาจคิดว่าfมีเพียงตัวอักษรและตัวเลขในชื่อที่คุณได้รับอนุญาตเต็มรูปแบบว่าในตอนแรกมันไม่ใหญ่กว่าbแต่อาจจะมีขนาดใหญ่เท่าbและมีพื้นที่ว่างที่ไม่มีที่สิ้นสุด คุณอาจไม่ถือว่าfไม่ว่างเปล่าหรือไม่มีไบต์เป็นศูนย์อยู่ ไม่ควรแก้ไขไฟล์ที่มีอยู่อื่นและไฟล์ใหม่ไม่ควรมีอยู่หลังจากสิ้นสุดการประมวลผล กรณีทดสอบ เนื้อหาของ f | b | ส่งผลให้เนื้อหาของ f 12345 | 10 | 1234500000 0 | 3 | 000 [ว่าง] | 2 | 00 [ว่าง] | 0 | [ว่าง] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

3
กริดสามารถโค้งงอ คุณอยู่นานเท่าไหร่
พิจารณาการวาดเส้นโค้งสองมิติที่เรียบง่ายและเปิดกว้างบน W กว้างด้วยกริดสูงของข้อความที่Xแสดงถึงส่วนหนึ่งของเส้นโค้งและ.แสดงพื้นที่ว่างและไม่มีการใช้อักขระอื่น ทุกพื้นที่กริดมี 8 กริดกริดที่อยู่ใกล้เคียงคือละแวกมัวร์ พื้นที่กริดที่เกินขอบเขตจะถือว่าว่างเปล่า กริดประกอบด้วยเส้นโค้งถ้ามันมีหนึ่งX หรือถ้ามันมีมากกว่าหนึ่งXที่: ตรงสองXs Xมีเพียงหนึ่งที่อยู่ใกล้เคียง นี่คือจุดสิ้นสุดของเส้นโค้ง ทุกคนXนอกเหนือจากปลายทางเพื่อนบ้านตรงสองXs รูปแบบเหล่านี้เป็นกลุ่มของเส้นโค้ง ตัวอย่างเช่นกริดนี้ที่ W = 9 และ H = 4 มีเส้นโค้ง: ....X.... .X.X.X.X. X..X..X.X .XX.....X เช่นกันกริดเหล่านี้ (W = 4, H = 3) มีเส้นโค้ง: .... .X.. .... .... .X.X .... X..X ..X. XX.. X.X. ..X. .XX. .X.. .... .... …

2
ตีความ Kipple!
บทนำ Kippleเป็นภาษาการเขียนโปรแกรมแบบกองซ้อนซึ่งเป็นความลับที่คิดค้นโดย Rune Berg ในเดือนมีนาคม 2003 Kipple มี 27 กอง 4 ตัวดำเนินการและโครงสร้างการควบคุม สแต็ค สแต็กถูกตั้งชื่อa- zและมีจำนวนเต็ม 32 บิต นอกจากนี้ยังมีสแต็กพิเศษ@เพื่อให้หมายเลขเอาต์พุตสะดวกยิ่งขึ้น เมื่อตัวเลขถูกส่งเข้าสู่@ค่า ASCII ของตัวเลขนั้นจะถูกผลักเข้าไปแทน (ตัวอย่างเช่นหากคุณกด 12 ถึง@จะได้ 49 และ 50 @แทน) อินพุตถูกส่งไปยังอินพุตสแต็กiก่อนที่โปรแกรมจะถูกดำเนินการ ล่ามจะถามหาค่าที่จะจัดเก็บiก่อนดำเนินการ หลังจากการดำเนินการเสร็จสิ้นสิ่งใดในเอาท์พุทสแต็คoจะถูกตอกไปยังเอาท์พุทเป็นตัวอักษร ASCII เนื่องจากนี่เป็นเพียงกลไก IO ของ Kipple เท่านั้นการโต้ตอบกับโปรแกรม Kipple จึงเป็นไปไม่ได้ ผู้ประกอบการ ตัวถูกดำเนินการเป็นทั้งตัวระบุสแต็กหรือจำนวนเต็ม 32 บิตลงนาม กด: >หรือ< ไวยากรณ์: Operand>StackIndentifierหรือStackIndentifier<Operand ตัวดำเนินการพุชนำตัวถูกดำเนินการไปทางซ้ายแล้วผลักไปยังสแต็กที่ระบุ ตัวอย่างเช่น12>aจะส่งค่า 12 …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

7
บนขอบของ hypercube
งานของคุณจะได้รับการเขียนฟังก์ชั่นหรือโปรแกรมที่จะนำจำนวนเต็มn>0เป็น input และ output รายการขอบของที่nมิติhypercube ในทฤษฎีกราฟขอบถูกกำหนดเป็น 2-tuple ของจุดยอด (หรือมุมถ้าคุณต้องการ) ที่เชื่อมต่อ ตัวอย่างที่ 1 hypercube 1 มิติคือเส้นและมีสองจุดซึ่งเราจะเรียกและab ดังนั้นผลลัพธ์จะเป็น: [[a, b]] ตัวอย่างที่ 2 hypercube 4 มิติ (หรือ tesseract) ประกอบด้วย 32 edge และกราฟมีลักษณะเช่นนี้ และผลลัพธ์อาจมีลักษณะเช่นนี้ [[a, b], [a, c], [a, e], [a, i], [b, d], [b, f], [b, j], [c, d], [c, g], [c, k], …

4
สร้างเครื่องทดสอบการเชื่อมต่อ 4 จุดยอดโดยใช้ประตู NAND
เชื่อมต่อกราฟเป็นกราฟที่ประกอบด้วยเส้นทางระหว่างสองจุดที่ ท้าทาย สร้างวงจร [อินพุต NAND-gate] ที่กำหนดว่าจะเชื่อมต่อกราฟ 4 จุดยอดหรือไม่ (อินพุต 2 รายการของเกตสามารถเป็นบิตอินพุตเดียวกันหรือเกตอื่น ๆ ) เอาท์พุทเป็นจริงถ้ากราฟเชื่อมต่ออยู่และเท็จเป็นอย่างอื่น อินพุต หกขอบที่เป็นไปได้ของกราฟอย่างง่ายที่มี 4 จุดยอด: [ 0 e 1 , 0 e 2 , 1 e 2 , 0 e 3 , 1 e 3 , 2 e 3 ] ที่จขหมายถึงว่ามีขอบระหว่างจุดและข การเชื่อมต่อจะเทียบเท่ากับเงื่อนไขต่อไปนี้: หากอินพุตน้อยกว่า 3 อินพุตเป็น True ให้เอาต์พุตเท็จ …

3
เกมล็อคและกุญแจ
มีnกล่องหมายเลข1-n แต่ละกล่องถูกล็อคเพื่อให้สามารถเปิดได้โดยใช้คีย์ที่เกี่ยวข้องประเภทเดียวเท่านั้น (เช่นหมายเลข1-n ) คีย์เหล่านี้กระจายอยู่แบบสุ่มในกล่อง (หนึ่งกล่องอาจมีจำนวนของคีย์ใด ๆ หนึ่งคีย์อาจมีจำนวนซ้ำกัน) จากนั้นกล่องทั้งหมดจะถูกปิด สมบัติ (หมายเลข0 ) ถูกล็อคในกล่องจำนวนมากเช่นกัน คุณได้ว่าจ้างช่างทำกุญแจเพื่อเรียกคืนสมบัติทั้งหมด เขาคิดค่าบริการสำหรับแต่ละกล่องที่เขาเปิดแตก ไม่มีค่าใช้จ่ายในการเปิดกล่องซึ่งมีกุญแจอยู่แล้ว อินพุตเป็นเนื้อหาของแต่ละกล่อง คุณสามารถตัดสินใจรูปแบบของอินพุต ส่งออกค่าใช้จ่ายขั้นต่ำที่จำเป็นในการรับสมบัติ หมายเหตุ อัลกอริทึมของคุณอาจใช้เวลานาน แต่ไม่เกี่ยวข้อง รหัสที่สั้นที่สุดชนะ ไม่จำเป็นต้องกังวลเกี่ยวกับอินพุตที่ไม่ถูกต้อง ข้อมูลตัวอย่าง นี่คือสายผมหมายถึงกุญแจอยู่ในกล่องฉัน อินพุต 2 0 3 4 0 5 6 0 6 0 เอาท์พุต 1 อินพุต 2 0 3 0 4 0 6 5 0 เอาท์พุต …

1
เส้นทางที่สั้นที่สุดในกราฟ
เขียนโปรแกรมเพื่อใช้กราฟ (จากอินพุตมาตรฐานหรือไฟล์ที่คุณเลือก) และหาเส้นทางที่สั้นที่สุดในกราฟ กราฟถูกระบุโดยใช้รูปแบบต่อไปนี้: A---S F--T | / \ | | / 5 0 |/ \| D----3--E A-Z: nodes in the graph -|/\: edges in the graph 0-9: weights on the edges <space>: all the holes ขอบทั้งหมดไม่ได้ถูกบอกทิศทางและอยู่ในแนวเดียวกับ 8 ทิศทางสำคัญ (เช่นไม่มีการโค้ง) ขอบอาจเป็นทางเลือกที่มีน้ำหนักตั้งแต่ 0 ถึง 9 น้ำหนักจะไม่อยู่ในสัญลักษณ์สุดท้ายที่เชื่อมต่อขอบกับโหนด (เช่นขอบต้องมีอย่างน้อย 3 สัญลักษณ์เพื่อมีน้ำหนัก) ขอบที่ไม่ถ่วงมีน้ำหนักเริ่มต้นเท่ากับ 1 …

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
มันเป็นต้นไม้เชิงเส้น (ฉบับที่กว้างแรก)
พื้นหลัง ต้นไม้ที่ไม่มีป้ายกำกับอาจมีลักษณะเช่นนี้: o / | \ o o o | / \ o o o ในการทำให้ต้นไม้นี้เป็นเส้นตรงเราต้องติดป้ายแต่ละโหนดoด้วยจำนวนของโหนดลูก: 3 / | \ 1 0 2 | / \ 0 0 0 จากนั้นเขียนตัวเลขลงในรายการในลักษณะลมหายใจก่อนหมายถึงบรรทัดต่อบรรทัดและจากซ้ายไปขวา: [3, 1, 0, 2, 0, 0, 0] นี่คือการแสดงที่ไม่เหมือนใครและไม่ซ้ำใครของต้นไม้ด้านบนซึ่งหมายความว่าไม่มีต้นไม้บริสุทธิ์ที่แตกต่างกันสองตัวที่จะมีเส้นตรงเหมือนกันและเราสามารถสร้างต้นไม้ดั้งเดิมขึ้นใหม่จากรายการ แม้ว่าต้นไม้แต่ละต้นจะสอดคล้องกับรายการจำนวนเต็มจำนวนหนึ่ง แต่ไม่ใช่รายการจำนวนเต็มแต่ละรายการที่แสดงถึงต้นไม้เชิงเส้นที่ถูกต้อง: ตัวอย่างเช่น[2, 0, 0, 0]ไม่ได้เป็นตัวแทนของต้นไม้ที่ถูกต้องถ้าเราพยายามที่จะทำให้เป็นเส้นตรง [2,0,0,0] -> 2 [0,0,0] -> 2 …

4
DAG เป็นการลดสกรรมกริยาหรือไม่
เป้าหมายของการท้าทายนี้จะได้รับแน่นอนกำกับวัฏจักรกราฟ (DAG) ตรวจสอบว่ากราฟเป็นลดสกรรมกริยา คำอธิบายสั้น ๆ เกี่ยวกับสิ่งที่ DAG และการลดลงของสกรรมกริยาคือ: DAG เป็นกราฟที่มีขอบกำกับ (เช่นคุณสามารถเดินทางไปในทิศทางเดียวบนขอบนั้น) ซึ่งให้โหนดเริ่มต้นใด ๆ บนกราฟมันเป็นไปไม่ได้ที่จะกลับไปที่โหนดเริ่มต้น (เช่นไม่มีรอบ) ให้โหนดเริ่มต้นใด ๆ หากเป็นไปได้ที่จะเดินทางไปยังโหนดสิ้นสุดอื่นในกราฟผ่านทางจำนวนบวกขอบโดยพลการจากนั้นโหนดปลายทางนั้นจะถูกกำหนดให้สามารถเข้าถึงได้จากโหนดเริ่มต้น ใน DAG ทั่วไปอาจมีหลายเส้นทางที่สามารถนำมาจากโหนดเริ่มต้นไปยังโหนดปลายทางที่สิ้นสุด ตัวอย่างเช่นใช้กราฟเพชรนี้: ที่จะได้รับไปยังโหนดDจากAคุณสามารถใช้เส้นทางหรือA->B->D A->C->Dดังนั้นจึงสามารถเข้าถึงได้จากD Aแต่มีเส้นทางที่สามารถนำที่จะได้รับไปยังโหนดไม่เริ่มต้นจากโหนดB Cดังนั้นโหนดไม่สามารถเข้าถึงได้จากโหนดBC กำหนดความสามารถในการเข้าถึงของกราฟเป็นรายการของโหนดที่สามารถเข้าถึงได้สำหรับทุกโหนดเริ่มต้นในกราฟ ดังนั้นสำหรับกราฟเพชรตัวอย่างเดียวกันความสามารถในการเข้าถึงคือ: A: [B, C, D] B: [D] C: [D] D: [] กราฟอื่นที่มีความสามารถในการเข้าถึงเหมือนกับกราฟด้านบนแสดงอยู่ด้านล่าง: อย่างไรก็ตามกราฟที่สองนี้มีขอบมากกว่ากราฟต้นฉบับ การลดสกรรมกริยาของกราฟเป็นกราฟที่มีจำนวนน้อยที่สุดของขอบและความสามารถในการเข้าถึงของกราฟดั้งเดิม ดังนั้นกราฟแรกคือการลดลงของสกรรมกริยาที่สอง สำหรับ DAG ที่ จำกัด การลดการส่งผ่านจะรับประกันว่ามีอยู่จริงและไม่ซ้ำกัน อินพุต อินพุตคือ "รายการของรายการ" …

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 

2
นับต้นไม้
ต้นไม้เป็นที่เชื่อมต่อกราฟไม่มีทิศทางที่ไม่มีรอบ งานของคุณคือการนับจำนวนต้นไม้ที่แตกต่างกันที่มีจำนวนจุดยอดที่กำหนด ต้นไม้สองต้นถือว่าแตกต่างกันหากไม่ได้เป็นมอร์ฟิค กราฟสองกราฟ isomorphic หากจุดยอดที่เกี่ยวข้องสามารถจับคู่ในลักษณะที่มีขอบระหว่างจุดยอดสองจุดในกราฟหนึ่งถ้าหากมีขอบระหว่างจุดยอดคู่กับจุดยอดเหล่านั้นในกราฟอื่น สำหรับคำอธิบายที่สมบูรณ์ยิ่งขึ้นให้ดูที่ลิงก์ด้านบน หากต้องการดูว่าทั้งหมดของต้นไม้ที่แตกต่างของขนาด 1-6 มีลักษณะเหมือนจะดูที่นี่ ชุดข้อมูลที่คุณพยายามส่งออกคือA000055ที่ OEIS ข้อ จำกัด : 6วิธีการแก้ปัญหาของคุณจะต้องใช้เวลาในช่วงนาทีหรือน้อยกว่าที่จะทำงานในการป้อนข้อมูล นี่ไม่ได้มีวัตถุประสงค์เพื่อกำจัดอัลกอริธึมเวลาเอ็กซ์โปเนนเชียล แต่มันมีจุดประสงค์เพื่อกำจัดอัลกอริธึมเวลาทวีคูณเช่นทวีคูณบังคับให้ข้ามชุดขอบทั้งหมด อินพุต:จำนวนเต็มใด ๆ ที่ไม่เป็นลบ อินพุตอาจเป็นวิธีมาตรฐานรวมถึง STDIN พารามิเตอร์บรรทัดคำสั่งอินพุตฟังก์ชัน ฯลฯ เอาท์พุท:จำนวนต้นไม้ที่แตกต่างที่มีจุดยอดมากที่สุดเท่าอินพุต เอาท์พุทอาจจะด้วยวิธีมาตรฐานใด ๆ รวมถึง STDOUT ฟังก์ชั่นกลับมา ฯลฯ ตัวอย่าง: ควรกลับ0, 1, 2, 3, 4, 5, 6, 71, 1, 1, 1, 2, 3, 6, 11 เกณฑ์การให้คะแนน:โค้ดกอล์ฟทีละไบต์ อาจเป็นรหัสที่สั้นที่สุดชนะ! …

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