คำถามติดแท็ก decision-problem

สำหรับความท้าทายที่เกี่ยวข้องกับการตัดสินใจว่าปัจจัยนำเข้านั้นมีคุณสมบัติตรงตามเกณฑ์ที่กำหนดหรือไม่และแสดงผลข้อมูลบางส่วนแทนการตัดสินใจนั้น

15
ตรงกับตัวเลขโรมัน
ท้าทาย รับสตริงอินพุตบางตัวส่งคืนค่าความจริงถ้ามันแสดงถึงตัวเลขโรมันที่ถูกต้องระหว่าง 1 (= I) และ 3999 (= MMMCMXCIX) และค่าเท็จเป็นอย่างอื่น รายละเอียด อินพุตเป็นสตริงที่ไม่ว่างซึ่งประกอบด้วยอักขระIVXLCDMเท่านั้น ตัวเลขโรมัน (ที่เราใช้ที่นี่ในการท้าทายนี้) ถูกกำหนดดังนี้: เราใช้สัญลักษณ์ต่อไปนี้เท่านั้น: Symbol I V X L C D M Value 1 5 10 50 100 500 1000 การกําหนดซึ่งสตริงเลขโรมันที่ถูกต้องจริงก็อาจจะง่ายที่สุดในการให้กฎของการสนทนา: การเขียนจำนวนทศนิยมa3 a2 a1 a0(ซึ่งแต่ละai. เป็นหนึ่งในหลักดังนั้นสำหรับตัวอย่างเพื่อเป็นตัวแทนของ792เรามีa3=0, a2=7, a1=9, a0=2.) เป็นเลขโรมันเราย่อยสลายมัน เข้าสู่พลังของสิบ พลังที่แตกต่างกันของสิบสามารถเขียนได้ดังนี้: 1-9: I, II, III, IV, V, …

30
ฉันไปเที่ยวเร็วแค่ไหน?
บทนำ มาตรวัดความเร็วรถยนต์ของฉันถูกแฮ็ก! แทนที่จะแสดงให้ฉันเห็นว่าฉันขับรถเร็วแค่ไหนมันก็แสดงให้เห็นว่า: "Vroooom!" โปรดช่วยฉันรู้ว่าฉันจะไปเร็วแค่ไหน ท้าทาย รับสตริงเป็นอินพุตและตรวจสอบว่าตรงกับ regex /^[Vv]ro*m!$/mหรือไม่ ในภาษาอังกฤษที่หมายถึงสายของสตริงใด ๆ จะต้องเริ่มต้นด้วยเงินทุนหรือตัวพิมพ์เล็กvแล้วตัวพิมพ์เล็กrแล้วจำนวนเงินใด ๆ (รวมทั้งศูนย์) ของตัวอักษรตัวพิมพ์เล็กแล้วสตริงที่แน่นอนo m!อาจมีบรรทัดอื่น แต่สตริง Vroom ต้องอยู่ในบรรทัดของตัวเอง หากคุณพบการแข่งขันคุณจะต้องนับจำนวนของoในสตริง Vroom และส่งออก หากคุณไม่พบคู่ที่ตรงกันคุณควรส่งออกค่าเริ่มต้นใด ๆ ที่ไม่สามารถแสดงเป็นอย่างอื่นได้ (เช่น-1หรือสตริงว่าง) การแจ้งเตือน I / O อยู่ในรูปแบบที่สมเหตุสมผล ช่องโหว่มาตรฐานถูกแบน ส่งอาจเป็นโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ ข้อมูลเข้ารับประกันว่าจะมี 1 Vroom string เท่านั้น เกณฑ์การให้คะแนน นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ อย่างไรก็ตามฉันจะไม่ทำเครื่องหมายคำตอบใด ๆ ตามที่ยอมรับ กรณีทดสอบ อินพุต Vrom! เอาท์พุต 1 อินพุต vrooooooom! …

11
ซ็อกเก็ต - ความเข้ากันได้ของปลั๊ก
การเดินทางด้วยอุปกรณ์อิเล็กทรอนิกส์เป็นเรื่องสนุกเสมอโดยเฉพาะอย่างยิ่งเมื่อคุณต้องการอะแดปเตอร์เพื่อชาร์จ ความท้าทายของคุณคือทำให้การวางแผนการเดินทางง่ายขึ้นเพียงเล็กน้อยโดยตรวจสอบว่าปลั๊กที่ให้มานั้นเข้ากันได้กับซ็อกเก็ตที่กำหนด ท้าทาย กำหนดประเภทปลั๊กและซ็อกเก็ตประเภทส่งกลับค่าที่ระบุว่าพวกเขาจะทำงานร่วมกันหรือไม่ ตารางความเข้ากันได้ Socket Accepted plugs | Plug Accepting Sockets A A | A A, B B A, B | B B C C | C C, D, E, F, H, J, K, L, N, O D C, D, E, F | D D E C, E, F …

12
เมทริกซ์เป็นบวกแน่นอนหรือไม่
บทนำ วันนี้เราจะดูแลความหายนะของนักเรียนพีชคณิตเชิงเส้นในปีแรก: เมทริกซ์แน่นอน! เห็นได้ชัดว่านี่ยังไม่มีความท้าทายดังนั้นเราไปที่นี่: อินพุต n×nn×nn\times n สมมาตรเมทริกซ์ในรูปแบบที่สะดวกใด ๆ (ที่คุณอาจยังแน่นอนใช้เวลาเพียงบนหรือส่วนล่างของเมทริกซ์)AAA ทางเลือก: ขนาดของเมทริกซ์nnn จะทำอย่างไร? ความท้าทายนั้นง่าย: การให้เมทริกซ์ที่มีมูลค่าจริงn×nn×nn\times nเมทริกซ์ตัดสินว่ามันเป็นผลบวกแน่นอนหรือไม่โดยการส่งออกค่าความจริงหากเป็นเช่นนั้นและค่าความเท็จหากไม่ คุณอาจสันนิษฐานว่าบิวด์อินของคุณทำงานได้อย่างแม่นยำจริง ๆ และไม่จำเป็นต้องพิจารณาปัญหาเชิงตัวเลขซึ่งอาจนำไปสู่พฤติกรรมที่ไม่ถูกต้องหากกลยุทธ์ / รหัส "พิสูจน์ได้" ควรให้ผลลัพธ์ที่ถูกต้อง ใครชนะ? นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ (ต่อภาษา) ชนะ! เมทริกซ์ที่เป็นบวกแน่นอนคืออะไร เห็นได้ชัดว่ามีสูตรเทียบเท่ากัน 6 สูตรเมื่อเมทริกซ์สมมาตรเป็นบวกแน่นอน ฉันจะทำซ้ำสามคนง่ายขึ้นและอ้างอิงคุณถึงวิกิพีเดียสำหรับคนที่ซับซ้อนมากขึ้น ถ้า∀v∈Rn∖{0}:vTAv>0∀v∈Rn∖{0}:vTAv>0\forall v\in\mathbb R^n\setminus \{0\}: v^T Av>0ดังนั้นAAAเป็นค่าบวกแน่นอน สิ่งนี้สามารถกำหนดสูตรใหม่ได้เช่น: หากสำหรับเวกเตอร์ที่ไม่เป็นศูนย์vvvผลิตภัณฑ์จุด (มาตรฐาน) ของvvvและAvAvAvเป็นค่าบวกดังนั้นAAAจะเป็นค่าบวกแน่นอน ให้λii∈{1,…,n}λii∈{1,…,n}\lambda_i\quad i\in\{1,\ldots,n\}เป็นค่าลักษณะเฉพาะของAAA , ถ้าตอนนี้∀i∈{1,…,n}:λi>0∀i∈{1,…,n}:λi>0\forall i\in\{1,\ldots,n\}:\lambda_i>0 (นั่นคือค่าลักษณะเฉพาะทั้งหมดเป็นค่าบวก) จากนั้นAAAเป็นค่าบวกแน่นอน หากคุณไม่ทราบว่าค่าลักษณะเฉพาะคืออะไรฉันขอแนะนำให้คุณใช้เครื่องมือค้นหาที่คุณชื่นชอบเพื่อค้นหาเพราะคำอธิบาย …

3
โปรแกรม Swap แบ่งครึ่งเพื่อทดสอบตัวหาร
สี่จำนวนเต็มดังนี้ ในการท้าทายนี้คุณจะทดสอบคุณสมบัติที่แตกต่างกันสี่ค่าของจำนวนเต็มบวกที่กำหนดโดยลำดับต่อไปนี้ จำนวนเต็มบวกNคือ ที่สมบูรณ์แบบ ( OEIS A000396 ) ถ้าผลรวมของตัวหารที่เหมาะสมของNเท่ากับN ลำดับเริ่มต้นด้วย 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128 ... refactorable ( OEIS A033950 ) ถ้าจำนวนของตัวหารของNเป็นตัวหารของN ลำดับเริ่มต้นด้วย 1, 2, 8, 9, 12, 18, 24, 36, 40, 56, 60, 72, 80, 84, 88, 96, 104, 108, 128 ... ปฏิบัติ ( OEIS A005153 …

5
Modified Boggle Checker พร้อม Modified Boggle สามารถแก้ไขได้
พื้นหลัง เกรงกลัวเป็นเกมกระดานที่ผู้เล่นจะต้องค้นหาคำศัพท์ภาษาอังกฤษในคณะอักษรสุ่ม 4-by-4 สามารถสร้างคำโดยเลือกเซลล์ที่อยู่ติดกันตามลำดับบนกระดาน ("ที่อยู่ติดกัน" หมายถึงที่อยู่ติดกันในแนวนอนแนวตั้งหรือแนวทแยงมุม) นอกจากนี้เซลล์เดียวกันไม่สามารถใช้มากกว่าหนึ่งครั้งในหนึ่งคำ ต่อไปนี้เป็นบอร์ดตัวอย่าง: I L A W B N G E I U A O A S R L บนกระดานนี้BINGO, ORANGEและWEARSเป็นคำที่ถูกต้อง แต่SURGEและRUSSIAไม่ได้: SURGERGไม่มีคู่ที่อยู่ติดกันบนกระดานมีเป็น RUSSIA: Sไม่สามารถใช้ได้สองครั้ง Modified Boggleเป็นรุ่นที่ได้รับการดัดแปลงของ Boggle พร้อมกับกฎต่อไปนี้ ขนาดคณะกรรมการจะn-by- nที่nสามารถเป็นจำนวนเต็มบวกใด ๆ แต่ละเซลล์สามารถมีหนึ่งไบต์ระหว่าง 0 ถึง 255 รวม เซลล์สามารถใช้ได้มากกว่าหนึ่งครั้งแต่ไม่สามารถใช้สองครั้งติดต่อกัน การใช้บอร์ดตัวอย่างข้างต้นนอกเหนือไปBINGO, ORANGEและWEARS, LANGUAGEกลายเป็นสตริงที่ถูกต้อง (ตั้งแต่Gจะใช้สองครั้ง แต่ไม่ได้เป็นครั้งที่สองในแถว) แต่RUSSIAยังไม่ (เนื่องจากSSทั้งคู่) …

19
ตรวจจับข้อความสี่เหลี่ยมด้วยรหัสสี่เหลี่ยม
กำหนดสตริงของข้อความ ASCII ที่พิมพ์ได้ (รวมถึงการขึ้นบรรทัดใหม่และช่องว่าง) ที่มีอักขระอย่างน้อยหนึ่งตัวที่ไม่ใช่การขึ้นบรรทัดใหม่หรือเว้นวรรคให้ส่งออกค่าความจริงหากสตริงเป็นรูปสี่เหลี่ยมผืนผ้าและค่าเท็จ นอกจากนี้รหัสแหล่งที่มาสำหรับการแก้ปัญหาของคุณจะต้องเป็นรูปสี่เหลี่ยมผืนผ้า สตริงเป็นรูปสี่เหลี่ยมหากตรงตามเงื่อนไขต่อไปนี้ทั้งหมด: บรรทัดแรกและบรรทัดสุดท้ายไม่มีช่องว่าง อักขระตัวแรกและตัวสุดท้ายของแต่ละบรรทัดไม่ใช่ช่องว่าง ทุกบรรทัดมีจำนวนอักขระเท่ากัน ตัวอย่างเช่นข้อความต่อไปนี้เป็นรูปสี่เหลี่ยมผืนผ้า: abcd e fg hijk อย่างไรก็ตามข้อความนี้ไม่ใช่รูปสี่เหลี่ยมผืนผ้า (ต้องการ # 3): 1234 567 8900 กรณีทดสอบ Truthy: sdghajksfg asdf jkl; qwerty u i op zxcvbn 1234 5 6 7890 abcd e fg hijk Falsey: a b c 123 456 7 9 12 345 …

30
กำลังหาใช่หรือไม่?
หลังจากป้อนสตริง [ความยาว 1-20] มีเพียงตัวอักษรyสำหรับใช่และnสำหรับไม่ใช่โปรแกรมของคุณควรแสดงผลลัพธ์ (y หรือ n) อินพุตตัวอย่าง: yynynynnyจะส่งออก y ผลลัพธ์ถูกกำหนดโดยการรวมค่า y และ n ด้วยวิธีต่อไปนี้: y es และn o เท่ากับn o y es และy es เท่ากับy es n o และn o เท่ากับy es หากสตริงมีอักขระมากกว่า 2 ตัว (น่าจะเป็น ... ) การคำนวณจะมีลักษณะเหมือนกัน ตัวอย่าง: y es และy es และn o เท่ากับn o (เพราะไม่มีการรวมกับครั้งแรกใช่เป็นไม่จากนั้นไม่มีและใช่เหลือและสิ่งเดียวกันเกิดขึ้นอีกครั้ง) …

19
ทำให้โปรแกรมสามเหลี่ยมเป็นสิ่งที่ถูกต้อง
Triangularityเป็น esolang ใหม่ที่พัฒนาโดยMr. Xcoderโดยที่โครงสร้างของโค้ดต้องเป็นไปตามรูปแบบที่เฉพาะเจาะจงมาก: สำหรับnบรรทัดที่รหัสจะต้องมี2n-1ตัวอักษรของโปรแกรมอย่างแน่นอน สิ่งนี้ทำให้เกิดรูปสามเหลี่ยม / ปิรามิดโดยที่บรรทัดแรกมีอักขระเพียงตัวเดียวและส่วนที่เหลือเพิ่มขึ้นทีละ 2 แต่ละบรรทัดจะต้องมีการบุด้วย.s ที่ด้านซ้ายและขวาเช่นตัวละครที่มีศูนย์กลางอยู่ที่เส้นของพวกเขาและทุกบรรทัดจะมีความยาวเบาะเดียวกัน หากlกำหนดเป็นจำนวนบรรทัดในโปรแกรมแต่ละบรรทัดในโปรแกรมต้องมีความยาว2 * l - 1 ตัวอย่างเช่นโปรแกรมทางด้านซ้ายนั้นถูกต้อง แต่โปรแกรมทางด้านขวาไม่ใช่: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS เมื่อวางในโครงสร้างที่ถูกต้องชื่อจะชัดเจน งาน งานของคุณคือการใช้สตริงบรรทัดเดียวเป็นอินพุตแทนรหัสสามเหลี่ยมและเอาท์พุทมันแปลงเป็นรหัสที่ถูกต้องตามที่อธิบายไว้ข้างต้น ข้อมูลจำเพาะสำหรับ I / O: ข้อมูลที่ป้อนจะมีอักขระอยู่ในช่วงเท่านั้น 0x20 - 0x7e ความยาวของอินพุตจะเป็นตัวเลขจตุรัสเสมอ คุณต้องใช้จุดสำหรับการขยายช่องว่างไม่ใช่อย่างอื่น คุณสามารถอินพุตและเอาต์พุตด้วยวิธีการที่ยอมรับได้ นี่คือรหัสกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดเป็นไบต์ชนะ! กรณีทดสอบ …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

21
ตัวนับไบต์ซ้ำ
งานของคุณคือการเขียนโปรแกรมที่ไม่ว่างเปล่า / ฟังก์ชั่นของการนับไบต์Lซึ่งเมื่อทำซ้ำMครั้งการตรวจสอบไม่ว่าจะเป็นในเชิงบวกให้จำนวนเต็มNเท่ากับL × M ในทางทฤษฎีคุณควรสนับสนุนจำนวนการทำซ้ำโดยพลการ (ค่าจำนวนเต็มบวกโดยพลการของM ) แต่ก็ดีถ้าเนื่องจากข้อ จำกัด ทางภาษามันไม่สามารถทำงานผ่านเกณฑ์ที่กำหนด การอ่านรหัสที่มาของโปรแกรมของคุณหรือการเข้าถึงข้อมูลเกี่ยวกับมันเป็นสิ่งต้องห้ามอย่างเคร่งครัด สำหรับการให้เอาต์พุตคุณควรเลือกค่าที่สอดคล้องกันสำหรับสถานะใดสถานะหนึ่ง (ไม่ว่าจะเป็นความจริงหรือเท็จ) และใช้เอาต์พุตอื่น ๆ ที่เป็นไปได้ (ไม่จำเป็นต้องสอดคล้องกัน) สำหรับสถานะอื่น ( การสนทนา ) คำตอบของคุณจะได้รับคะแนนตามความยาวของโปรแกรมเริ่มต้นของคุณL (เป็นไบต์) โดยที่ไบต์น้อยกว่าจะดีขึ้น ตัวอย่าง สมมติว่า (เริ่มต้น) ABCDEโปรแกรมของคุณ แล้ว: ABCDE(1 ซ้ำ) ควรตรวจสอบถ้าใส่เท่ากับ5 ABCDEABCDE(2 ซ้ำ) ควรตรวจสอบถ้าใส่เท่ากับ10 ABCDEABCDEABCDE(3 ซ้ำ) ควรตรวจสอบถ้าใส่เท่ากับ15 ฯลฯ ... คะแนนของโค้ดตัวอย่างนี้จะเป็น5เนื่องจากแหล่งเริ่มต้นมีความยาว 5 ไบต์

13
ตรวจสอบว่าองค์ประกอบที่ไม่เป็นศูนย์ทั้งหมดในเมทริกซ์เชื่อมต่อกันหรือไม่
การป้อนข้อมูล: เมทริกซ์ที่มีจำนวนเต็มในช่วง[0-9] ท้าทาย: ตรวจสอบว่าองค์ประกอบที่ไม่ใช่ศูนย์ทั้งหมดเชื่อมต่อกันในแนวตั้งและ / หรือแนวนอน เอาท์พุท: ค่า truthyถ้าทั้งหมดที่มีการเชื่อมต่อและค่า falsyถ้ามีไม่ใช่ศูนย์องค์ประกอบ / กลุ่มที่ไม่ได้เชื่อมต่อกับองค์ประกอบอื่น ๆ / กลุ่ม กรณีทดสอบ: กรณีทดสอบถูกคั่นด้วยบรรทัด กรณีทดสอบสามารถพบได้ในรูปแบบที่สะดวกกว่าได้ที่นี่ ( Kudos ถึง Dada ) ต่อไปนี้เป็นสิ่งที่เชื่อมต่อกันและควรจะคืนค่าความจริง: 0 --- 0 0 --- 1 1 1 0 0 0 --- 1 0 0 1 1 1 0 0 1 --- 0 0 0 0 …

7
เอ่อมันเป็นไฮกุหรือเปล่า?
ดังนั้นคุณต้องการสร้างไฮกุ แต่คุณไม่แน่ใจว่าเป็นไปตามกฎของพยางค์สำหรับไฮกุหรือไม่ ฉันไม่อยากจะเขียนสิ่งที่ไม่เหมาะสมเหมือนปกติดังนั้นคุณต้องทำสิ่งนี้ มาติดอยู่ที่นั่น ค้นหาไฮกุออกมาในป่า สำหรับจุดประสงค์ของการท้าทายนี้เราจะทำการตรวจสอบว่าบทกวีที่กำหนดตรงตามเกณฑ์เหล่านี้หรือไม่: มีสามบรรทัด บรรทัดแรกมี 5 พยางค์ บรรทัดที่สองมี 7 พยางค์ บรรทัดที่สามมี 5 พยางค์ แต่ละบรรทัดประกอบด้วยคำอย่างน้อยหนึ่งคำคั่นด้วยกลุ่มของช่องว่าง คำเหล่านี้ไม่จำเป็นต้องเป็นคำภาษาอังกฤษที่ถูกต้อง แต่ละคำจะถูกแบ่งออกเป็นพยางค์และจากนั้นจะนับพยางค์เหล่านั้นเพื่อนับจำนวนพยางค์ทั้งหมดของบรรทัด พยางค์มี 2 หรือ 3 ส่วน: จุดเริ่มต้นจุดสิ้นสุดและอาจอยู่ตรงกลาง แต่ละส่วนจะมีทั้งกลุ่มของ consonsants (ยังเป็นที่รู้จักพยัญชนะกลุ่มเช่นs, skหรือspl) หรือกลุ่มของสระ (เช่นi, eaหรือoui) หากจุดเริ่มต้นเป็นกลุ่มของพยัญชนะตรงกลางจะเป็นกลุ่มของเสียงสระและท้ายที่สุดจะเป็นกลุ่มของพยัญชนะ หากการเริ่มต้นเป็นกลุ่มของเสียงสระปลายจะเป็นกลุ่มของพยัญชนะและจะไม่มีตรงกลาง ยกตัวอย่างเช่นคำว่าexampleถูกสร้างขึ้นจากสามพยางค์ex, และam ไม่สิ้นสุดในขณะที่มันถูกตัดสั้นในตอนท้ายของคำpleple เป็นอีกหนึ่งตัวอย่างคำว่าsyllableยังมีสามพยางค์syll, ablและeซึ่งยังไม่เคยมีใครตอนจบ สำหรับตัวอย่างสุดท้ายหนึ่งคำwordมีหนึ่งพยางค์wordซึ่งลงท้ายด้วยกลุ่มพยัญชนะ ความท้าทาย รับสตริง, รายการของสตริง, รายการของรายการหรือรูปแบบที่เหมาะสมอื่น ๆที่เป็นตัวแทนของบทกวีที่มีอย่างน้อยหนึ่งบรรทัดพิจารณาว่ามันเป็นไปตามเกณฑ์ของไฮกุที่ระบุไว้ข้างต้นและส่งกลับผล คุณสามารถส่งคืนผลลัพธ์ในรูปแบบใด ๆ ต่อไปนี้: คุณค่าความจริงหากบทกวีเป็นไฮกุและเป็นเท็จอย่างอื่น ค่าเท็จถ้าบทกวีเป็นไฮกุและเป็นความจริงอย่างอื่น …

14
มันเป็นการสลับเพลงหรือไม่?
เมื่อวานนี้ฉันถามคำถามนี้เกี่ยวกับ ruffle shuffles ดูเหมือนว่าคำถามเมื่อวานนี้ยากไปหน่อยดังนั้นคำถามนี้เป็นงานที่เกี่ยวข้อง แต่ง่ายกว่ามาก วันนี้คุณจะถูกถามเพื่อตรวจสอบว่าการเปลี่ยนแปลงในความเป็นจริงสับเปลี่ยน riffle คำจำกัดความของการสลับแบบ riffle ของเราถูกดัดแปลงจากคำถามสุดท้ายของเรา: ส่วนแรกของการสุ่มคือการแบ่ง ในพาร์ทิชันแบ่งไพ่ในสอง ส่วนย่อยทั้งสองจะต้องต่อเนื่องเป็นเอกสิทธิ์เฉพาะบุคคลและครบถ้วนสมบูรณ์ ในโลกแห่งความเป็นจริงต้องการทำให้พาร์ติชันของคุณใกล้เคียงที่สุดเท่าที่จะเป็นไปได้อย่างไรก็ตามในความท้าทายนี้ไม่ใช่การพิจารณาพาร์ติชั่นทั้งหมดรวมถึงพาร์ติชั่นที่เสื่อมโทรม หลังจากที่พวกเขาได้รับการแบ่งพาร์ติชันบัตรจะได้แต่งงานกันในลักษณะดังกล่าวว่าบัตรรักษาลำดับญาติของพวกเขาภายในพาร์ทิชันที่พวกเขาเป็นสมาชิกของ ตัวอย่างเช่นหากการ์ดAอยู่ก่อนการ์ดBในสำรับและการ์ดAและBอยู่ในพาร์ทิชันเดียวกันการ์ดAต้องอยู่ก่อนการ์ดBในผลลัพธ์สุดท้ายแม้ว่าจำนวนการ์ดระหว่างการ์ดจะเพิ่มขึ้น หากAและBอยู่ในพาร์ติชั่นต่างกันพวกเขาสามารถอยู่ในลำดับใดก็ได้โดยไม่คำนึงถึงลำดับเริ่มต้นในผลลัพธ์สุดท้าย การสลับแบบสุ่มแต่ละอันนั้นสามารถถูกมองว่าเป็นการเปลี่ยนแปลงไพ่สำรับดั้งเดิม ตัวอย่างเช่นการเปลี่ยนแปลง 1,2,3 -> 1,3,2 เป็นการสลับแบบ riffle ถ้าคุณแยกดาดฟ้าเช่นนั้น 1, 2 | 3 เราเห็นว่าการ์ดทุกใบใน1,3,2นั้นมีลำดับที่เหมือนกันกับการ์ดอื่น ๆ ในพาร์ติชั่น ยังคงเป็นหลังจากที่21 ในทางกลับกันการเรียงสับเปลี่ยนต่อไปนี้ไม่ใช่การสลับแบบ riffle 1,2,3 -> 3,2,1 เราสามารถเห็นสิ่งนี้ได้เพราะพาร์ติชั่นทั้งสอง (ไม่สำคัญ) 1, 2 | 3 1 | 2, 3 มีคู่ของการ์ดที่ไม่รักษาลำดับญาติของพวกเขา ในพาร์ติชันแรก1และ2เปลี่ยนลำดับของพวกเขาในขณะที่พาร์ติชันที่สอง2และ3เปลี่ยนลำดับของพวกเขา …

21
มันสั่นไหวเป็นระยะหรือไม่?
ท้าทาย กำหนดรายการให้ตรวจสอบว่าการจัดกลุ่มรายการในการเพิ่มและลดองค์ประกอบจะส่งผลให้รายการของรายการขนาดเท่ากันหรือไม่ กล่าวอีกนัยหนึ่ง "จุดเปลี่ยน" ของรายการนั้นเว้นระยะเท่ากัน ตัวอย่าง นี่คือตัวอย่าง: 0, 3, 7, 5, 2, 3, 6 0, 3, 7เพิ่มขึ้น7, 5, 2ลดลงและ2, 3, 6เพิ่มขึ้น ดังนั้นนี่คือความจริง ตัวอย่างอื่น: 1, 4, 6, 8, 5, 3, 5, 7, 9 1, 4, 6, 8เพิ่มขึ้น8, 5, 3ลดลงและ3, 5, 7, 9เพิ่มขึ้น ดังนั้นนี่เป็นเท็จ กฎและข้อมูลจำเพาะ องค์ประกอบที่อยู่ติดกันจะไม่เท่ากัน ตัวเลขทั้งหมดสามารถสันนิษฐานได้ว่าอยู่ในช่วงหมายเลขที่เหมาะสมของภาษาของคุณ คุณอาจคิดว่าตัวเลขทั้งหมดเป็นจำนวนเต็มถ้ามันช่วยให้คุณส่งข้อมูลได้ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดชนะ ป้อนข้อมูลเป็นรายการในการแสดงและเอาท์พุทที่สมเหตุสมผลเช่นค่าความจริง / เท็จ …

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

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