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

การเรียงสับเปลี่ยนเป็นการเรียงลำดับรายการวัตถุบางรายการโดยเฉพาะ ปัญหาที่ติดแท็กด้วยการเปลี่ยนแปลงมักเกี่ยวข้องกับการค้นหาหรือสร้างการเรียงสับเปลี่ยน

5
ประโยคที่บิด
กฎระเบียบ โปรแกรมควรรับสตริง / อาร์เรย์ของคำเป็นอินพุต สำหรับแต่ละคำในสตริง / อาเรย์มันจะสร้างคำใหม่โดยการใช้ตัวอักษรในการสลับแฟชั่นจากด้านหน้าและด้านหลังของคำ 12345 678 9 -> 15243 687 9 จากนั้นจะจัดเรียงคำใหม่ในลักษณะสลับระหว่างคำแรกสุดและคำที่เกิดขึ้นล่าสุดในสตริง 15243 687 9 -> 15243 9 687 ในที่สุดมันจะสร้างสตริงขึ้นใหม่โดยการวางช่องว่างแท็บและการขึ้นบรรทัดใหม่ที่ดัชนีซึ่งเป็นตำแหน่งเริ่มต้นก่อนที่จะแสดงผลลัพธ์ 12345 678 9-> 15243 687 9 -> 15243 9 687 -> 15243 968 7 เอาต์พุตควรเป็นประเภทข้อมูลเดียวกับอินพุต ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่าง อินพุต: สุนัขจิ้งจอกสีน้ำตาลอย่างรวดเร็วกระโดดข้ามสุนัขขี้เกียจ ผลลัพธ์: Teh d.ogq kucil yaz bnrwo tehf xoo …

1
Hold'em หรือ Fold'em
เพื่อนของคุณเชิญคุณเข้าร่วมการแข่งขันโปกเกอร์ขั้นสูงในนาทีสุดท้ายและในฐานะนักวิทยาศาสตร์คอมพิวเตอร์คุณตัดสินใจที่จะใช้ทักษะของคุณเพื่อสร้างความได้เปรียบให้กับเกม งานของคุณจะได้รับ2 cards(มือของคุณ) และ0, 3, 4 or 5 cards(ไพ่ที่แจก) คุณต้องตัดสินใจว่ามือที่ดีที่สุดที่คุณจะได้รับคืออะไร หากได้รับไพ่ทั้งหมด 7 ใบเป็นอาร์กิวเมนต์คำตอบนั้นค่อนข้างชัดเจน หากได้รับน้อยปัญหาจะซับซ้อนมากขึ้น อย่างไรก็ตามมันไม่เพียงพอที่จะให้คุณได้เปรียบคุณต้องคำนวณมือที่ดีที่สุดที่เป็นไปได้จากไพ่ที่เหลือเพื่อให้เข้าใจว่าฝ่ายตรงข้ามของคุณจะมีอะไรบ้าง Hold'em Refresher หากคุณไม่รู้จัก Hold'em ผู้เล่นแต่ละคนในเกมจะเริ่มด้วยไพ่ 2 ใบในมือของพวกเขา ในช่วงระยะเวลา 3 รอบจะมีการเปิดเผยการ์ดเพิ่มเติมเพื่อแบ่งปันระหว่างผู้เล่นทุกคน เทิร์นแรกไพ่ 3 ใบถูกเปิดเผย ครั้งที่สองอีก 1 และครั้งที่สามมีการเปิดเผยไพ่ใบสุดท้าย ไพ่สองใบแรกที่มอบให้แสดงถึงมือของคุณในขณะที่ไพ่หลังนั้นเป็น 0, 3, 4 หรือ 5 ใบที่ได้รับจากการเปลี่ยนต่อเนื่อง ตัวเลขที่เป็นไปได้: [2,3,4,5,6,7,8,9,T(10),J,Q,K,A] ชุดที่เป็นไปได้: [S,C,H,D] เด็คเต็มรูปแบบ: [2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS, # Spades. 2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC, # Clubs. 2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH, …

15
คำนวณหมายเลข Eulerian
จำนวน Eulerian A(n, m)คือจำนวนของพีชคณิตของ[1, 2, ..., n]ที่ว่าmองค์ประกอบมากกว่าองค์ประกอบก่อนหน้านี้ เหล่านี้เรียกว่าเพิ่มขึ้น ตัวอย่างเช่นถ้าn = 3มี 3! = 6 การเรียงสับเปลี่ยนของ[1, 2, 3] 1 2 3 < < 2 elements are greater than the previous 1 3 2 < > 1 ... 2 1 3 > < 1 ... 2 3 1 < > 1 ... …

13
ดัชนีการเปลี่ยนแปลงของผกผัน
บทนำ พีชคณิตเรียงลำดับของรายการที่มีองค์ประกอบnสามารถกำหนดหมายเลขได้ตั้งแต่ 0 ถึงn ! - 1. ตัวอย่างเช่น 3! = 6 พีชคณิต(1,2,3)จะ(1,2,3), (1,3,2), (2,1,3), (2,3,1), ,(3,1,2)(3,2,1) เมื่อการเรียงสับเปลี่ยนถูกนำไปใช้กับรายการองค์ประกอบของมันจะเรียงลำดับตามลำดับเดียวกับตัวเลขในการเรียงลำดับ ยกตัวอย่างเช่นการใช้การเปลี่ยนลําดับ(2,3,1)การอัตราผลตอบแทนl = (a,b,c)(l[2],l[3],l[1]) = (b,c,a) อินเวอร์สของการเปลี่ยนแปลงนั้นหมายถึงการเรียงสับเปลี่ยนที่ย้อนกลับการดำเนินการนี้คือการใช้การเปลี่ยนแปลงและจากนั้นอินเวอร์สของมัน (หรือกลับกัน) ไม่ได้ปรับเปลี่ยนอาร์เรย์ ยกตัวอย่างเช่นค่าผกผันของการ(2,3,1)เป็น(3,1,2)ตั้งแต่การใช้ที่อัตราผลตอบแทน(b,c,a)(a,b,c) นอกจากนี้การเปลี่ยนแปลงผกผันของนำไปใช้กับการเปลี่ยนแปลงของตัวเองผลตอบแทนถัวเฉลี่ยเลข 1 ... n ยกตัวอย่างเช่นการใช้(3,1,2)เพื่อให้อัตราผลตอบแทน(2,3,1)(1,2,3) ตอนนี้เรากำหนดฟังก์ชั่นrevind ( x ) เป็นดัชนีของการเปลี่ยนแปลงผกผันของการเปลี่ยนแปลงที่มีดัชนีx (นี่คือA056019หากคุณสนใจ) เนื่องจากการเรียงสับเปลี่ยนกับดัชนีฉันเพียงแก้ไขรายการสุดท้ายkของรายการiff 0 ≤ i < k !,เราสามารถเพิ่มองค์ประกอบจำนวนใด ๆ ไปยังจุดเริ่มต้นของรายการโดยไม่มีผลต่อrevind ( i ) ดังนั้นความยาวของรายการจึงไม่มีผลต่อผลลัพธ์ …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

12
การแบ่งปันความลับของ Shamir
ป.ร. ให้ไว้n(จำนวนของผู้เล่น) t(ค่าเกณฑ์) และs(ความลับ) เอาท์พุทnลับที่สร้างขึ้นโดยอัลกอริทึมที่ใช้ร่วมกันความลับของมิร์ อัลกอริทึม สำหรับจุดประสงค์ของการท้าทายนี้การคำนวณจะกระทำในGF (251) (เขตข้อมูลขนาด จำกัด251หรือที่รู้จักกันในชื่อจำนวนเต็มmod 251 ) ตามปกติแล้วฟิลด์จะถูกเลือกเพื่อให้ขนาดของมันใหญ่กว่าnมาก เพื่อลดความท้าทายขนาดของสนามจะคงที่ 251ได้รับเลือกเนื่องจากเป็นจำนวนที่ใหญ่ที่สุดที่สามารถแทนได้โดยเลขจำนวนเต็ม 8 บิตที่ไม่ได้ลงชื่อ สร้างt-1จำนวนเต็มสุ่มใน (รวม) [0, 250]ช่วง ป้ายเหล่านี้1ผ่านT-1 สร้างt-1พหุนามระดับปริญญาที่ใช้sเป็นค่าคงที่และจำนวนเต็มแบบสุ่มจากขั้นตอนที่ 1 เป็นค่าสัมประสิทธิ์ของพลังของx: f (x) = s + x * a 1 + x 2 * a 2 + ... + x t- 1 * a T-1 เอาท์พุท(f(z) …
17 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 

8
ลำดับการเรียงสับเปลี่ยนเกลียว
เราสามารถสะสมจำนวนธรรมชาติในเกลียวเป็นรูปสี่เหลี่ยมผืนผ้า: 17--16--15--14--13 | | 18 5---4---3 12 | | | | 19 6 1---2 11 | | | 20 7---8---9--10 | 21--22--23--24--25 แต่ตอนนี้เรามีพวกมันอยู่บนตะแกรงสี่เหลี่ยมเราสามารถคลายเกลียวในลำดับที่แตกต่างกันเช่นไปตามเข็มนาฬิกาเริ่มทิศเหนือ: 17 16--15--14--13 | | | 18 5 4---3 12 | | | | | 19 6 1 2 11 | | | | 20 7---8---9 10 | …

2
สุ่มกอล์ฟประจำวัน # 6: สะสม d20
เกี่ยวกับซีรี่ส์ ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลกับซีรีย์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก แม้ว่าฉันจะมีไอเดียมากมายสำหรับซีรีส์ แต่ความท้าทายในอนาคตยังไม่เกิดขึ้น หากคุณมีข้อเสนอแนะใด ๆ โปรดแจ้งให้เราทราบเกี่ยวกับการโพสต์ Sandbox ที่เกี่ยวข้อง หลุม 6: หมุน d20 การตายที่พบบ่อยมากในเกม RPG สวมบทบาทบนโต๊ะคือการตายแบบยี่สิบหน้า ( icosahedronหรือที่รู้จักกันทั่วไปว่าd20 ) มันเป็นหน้าที่ของคุณที่จะต้องตายแบบนี้ อย่างไรก็ตามหากคุณเพิ่งส่งคืนหมายเลขสุ่มระหว่าง 1 ถึง 20 นั่นอาจเป็นเรื่องเล็กน้อย ดังนั้นงานของคุณคือการสร้างเครือข่ายสุ่มสำหรับการตายที่กำหนด เราจะใช้เน็ตต่อไปนี้: มันเป็นแถบสามเหลี่ยมเพื่อให้สามารถแสดงเป็นรายการจำนวนเต็มได้อย่างง่ายดาย เช่นถ้าคุณได้รับอินพุต: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, …

14
สนุกกับการเรียงสับเปลี่ยน
ใครไม่รักการเรียงสับเปลี่ยนใช่ไหม? ฉันรู้ว่ามันยอดเยี่ยมมาก - สนุกมาก! ดีทำไมไม่ใช้เวลานี้สนุกและทำให้มันfunner ? นี่คือความท้าทาย: รับอินพุตในรูปแบบที่แน่นอน: nPr, ซึ่งnเป็นพูลที่นำมาจากและrเป็นจำนวนการเลือกจากพูลนั้น (และnและrเป็นจำนวนเต็ม) เอาต์พุต / ส่งกลับจำนวนพีชคณิตที่แน่นอน สำหรับผู้ที่มีสนิมเล็กน้อยกับคำศัพท์: การเปลี่ยนแปลง, การกำหนด 2a อย่างไรก็ตามนี่คือที่มาของความท้าทาย (ทำให้ไม่ง่ายเกินไป): คุณไม่สามารถใช้ไลบรารีเฟรมเวิร์กหรือเมธอดสำหรับฟังก์ชันการเรียงลำดับของคุณ คุณไม่สามารถใช้วิธีแบบแฟคทอเรียลวิธีการเรียงสับเปลี่ยนหรืออะไรก็ได้ คุณต้องเขียนทุกอย่างด้วยตัวเอง หากต้องการคำชี้แจงเพิ่มเติมโปรดอย่าลังเลที่จะบอกฉันในความคิดเห็นและฉันจะทำตามทันที นี่คือตัวอย่าง I / O: ฟังก์ชั่นตัวอย่างคือ permute(String) -> int การป้อนข้อมูล: permute("3P2") เอาท์พุท: 6 นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ!

14
การเรียงสับเปลี่ยนในการปลอมตัว
กำหนดnnnเวกเตอร์มิติvvvกับรายการจริงพบการเปลี่ยนแปลงที่อยู่ใกล้pppของ(1,2,...,n)(1,2,...,n)(1,2,...,n)ด้วยความเคารพต่อl1l1l_1 -distance รายละเอียด ถ้ามันเป็นความสะดวกสบายมากขึ้นคุณสามารถใช้พีชคณิต(0,1,...,n−1)(0,1,...,n−1)(0,1,...,n-1)แทน หากมีการเรียงสับเปลี่ยนที่ใกล้เคียงที่สุดคุณสามารถส่งออกหนึ่งรายการหรือทั้งหมดก็ได้ l1l1l_1ระยะห่างระหว่างสองเวกเตอร์u,vu,vu,vถูกกำหนดให้เป็นd(u,v)=∑i|ui−vi|.d(u,v)=∑i|ui−vi|.d(u,v) = \sum_i \vert u_i-v_i\vert. หากคุณต้องการคุณสามารถสันนิษฐานได้ว่าอินพุตประกอบด้วยจำนวนเต็มเท่านั้น ตัวอย่าง [0.5 1] -> [1 2], [2 1] c*[1 1 ... 1] -> any permutation [1 4 2 6 2] -> [1 4 3 5 2], [1 4 2 5 3] [1 3 5 4 1] -> [2 3 …

16
ค้นหา Anagrams ทั้งหมด!
แม้จะมีคำถาม 17 ข้อที่ติดแท็กแอนนาแกรมแต่เราก็ยังไม่มีคำถามนี้ดังนั้นจึงเป็นเช่นนี้ งานของคุณ คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่เมื่อได้รับสตริงให้พิมพ์แอนนาแกรมที่เป็นไปได้ทั้งหมด สำหรับวัตถุประสงค์ของคำถามนี้แอนนาแกรมคือสตริงที่มีอักขระเหมือนกันกับสตริงดั้งเดิม แต่ไม่ใช่สำเนาที่แน่นอนของสตริงดั้งเดิม แอนนาแกรมไม่จำเป็นต้องเป็นหรือมีคำที่แท้จริง อินพุต คุณอาจยอมรับสตริงซึ่งอาจมีความยาวใด ๆ > 0 โดยวิธีการอินพุตมาตรฐาน มันอาจมีอักขระ ASCII ใด ๆ เอาท์พุต คุณสามารถส่งออกแอนนาแกรมที่เป็นไปได้ทั้งหมดของสตริงที่ป้อนเข้าด้วยวิธีมาตรฐาน คุณต้องไม่ส่งออกสตริงเดียวกันสองครั้งหรือส่งออกสตริงเท่ากับอินพุต กฎอื่น ๆ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต เกณฑ์การให้คะแนน นี่คือโค้ดกอล์ฟอย่างน้อยไบต์ชนะ

15
Hidden Inversions (เธรดโจร)
นี่คือปริศนาตำรวจและโจร , ด้ายตำรวจสามารถพบได้ที่นี่ งานของคุณคือค้นหาแอนนาแกรมของโปรแกรมที่ให้ไว้ในเธรดของตำรวจที่ดำเนินการผกผันด้านซ้าย เมื่อคุณถอดรหัสคำตอบโพสต์วิธีการแก้ปัญหาเป็นคำตอบด้านล่างและแจ้งให้ผู้ตอบเดิม คุณจะได้คะแนนตามจำนวนของโปรแกรมที่คุณเป็นคนแรกที่ถอดรหัส

20
สลายจำนวน!
งานของคุณคือการแยกตัวเลขโดยใช้รูปแบบด้านล่าง นี้จะคล้ายกับการแปลงฐานยกเว้นที่แทนของรายชื่อdigitsในฐานคุณรายการvaluesเช่นว่ารายการเพิ่มขึ้นเพื่อป้อนข้อมูล หากฐานที่กำหนดคือnแต่ละหมายเลขในรายการจะต้องอยู่ในรูปแบบของk*(n**m)ที่ไหน0<=k<nและmไม่ซ้ำกันทั่วทั้งรายการ รายละเอียด รูปแบบอินพุต / เอาท์พุตที่สมเหตุสมผล โปรแกรม / ฟังก์ชั่นของคุณใช้ 2 อินพุทและเอาท์พุทรายการ รายการเอาท์พุทสามารถอยู่ในลำดับใด ๆ 0 สามารถยกเว้นหรือรวมไว้ได้ 0อนุญาตให้นำหน้า Built-in จะได้รับอนุญาต Testcases number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

24
อาร์เรย์แบบสุ่มโดยไม่ต้องทำซ้ำ
ฉันกำลังตอบคำถามท้าทายหนึ่งที่นี่และงานนี้เป็นส่วนหนึ่งของความท้าทาย ฉันมีวิธีแก้ปัญหา 73 ไบต์ในจาวาสคริปต์ แต่ฉันคิดว่ามันมากเกินไปสำหรับสิ่งที่ง่าย ท้าทาย รับเป็นอินพุตจำนวนเต็มสองจำนวน: N ความยาวของอาร์เรย์ที่คาดหวัง Rช่วงของช่วงเวลาเริ่มต้นในหนึ่ง: 1..Rไม่0..R-1 เอาต์พุตในการรันแต่ละครั้งของโปรแกรม / ฟังก์ชันของคุณหนึ่งอาร์เรย์ที่Nมีความยาวต่างกันโดยมีค่าอยู่ระหว่างกัน1..Rในลักษณะที่ไม่มีค่าใดเกิดขึ้นมากกว่าหนึ่งครั้ง คุณต้องใช้R-valueในรหัสของคุณ ข้อ จำกัด 2 <= N <= Rคุณสามารถสันนิษฐานได้ว่า: ฉันอยากเห็นโซลูชันจาวาสคริปต์สั้นกว่าของฉัน 73 ไบต์ แต่แน่นอนมันเปิดทุกภาษา! หากภาษาของคุณไม่สามารถส่งกลับอาร์เรย์คุณสามารถพิมพ์ตัวเลขทั้งหมด)

6
ค้นหาการจับคู่สูงสุดในความสัมพันธ์ของการหาร
คุณได้รับชุดจำนวนเต็มบวก คุณต้องจัดเรียงให้เป็นคู่เช่น: แต่ละคู่มี 2 หมายเลขโดยหนึ่งในนั้นเป็นหลายคู่ ตัวอย่างเช่น 8 คือผลคูณของ 4 และ 9 คือผลคูณของ 9 หากจำนวนเดียวกันเกิดขึ้นหลายครั้งในชุดเริ่มต้นก็สามารถใช้งานได้หลายครั้งในคู่นั้น จำนวนสามารถจับคู่กับการเกิดขึ้นของหมายเลขเดียวกันอีก ได้รับจำนวนคู่ที่เป็นไปได้สูงสุด เอาต์พุตต้องเป็นจำนวนคู่ รหัสที่สั้นที่สุดชนะ ข้อมูลตัวอย่าง 2,3,4,8,9,18 -> 3 7,14,28,42,56 -> 2 7,1,9,9,4,9,9,1,3,9,8,5 -> 6 8,88,888,8888,88888,888888 -> 3 2,6,7,17,16,35,15,9,83,7 -> 2

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 และ …

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