คำถามติดแท็ก board-game

สำหรับความท้าทายที่เกี่ยวข้องกับเกมกระดาน

5
เล่น Antichess!
https://en.wikipedia.org/wiki/Losing_chess นี่เป็นพื้นฐานการแข่งขันหมากรุกแต่สำหรับความเป็นปฏิปักษ์;) Antichess เป็นหนึ่งในเกมหมากรุกที่ได้ถูกประดิษฐ์ขึ้น เป้าหมายคือการสูญเสียชิ้นส่วนทั้งหมดของคุณ (ซึ่งอาจดูแปลก ๆ เล็กน้อย แต่มันเรียกว่า antichess ด้วยเหตุผล) กฎระเบียบ กฎของ antichess นั้นคล้ายกับหมากรุกมาตรฐาน - แต่มีความแตกต่างเล็กน้อยเล็กน้อย เป้าหมายที่ฉันกล่าวถึงข้างต้นคือการสูญเสียชิ้นส่วนทั้งหมดของคุณ ในการทำให้สิ่งนี้เกิดขึ้นถ้าคู่ต่อสู้ของคุณมีโอกาสที่จะจับชิ้นส่วนหนึ่งของคุณนั่นเป็นเพียงการเคลื่อนไหวเดียวที่เขาสามารถทำได้ หากคุณให้โอกาสเขาหลายครั้งในคราวเดียวผู้เล่นคนอื่นอาจเลือกตาเขาได้ อีกสิ่งหนึ่งที่เปลี่ยนไปคือราชาไม่มีพลังพิเศษ - ในขณะที่คุณไม่สามารถรุกฆาตคู่ต่อสู้ของคุณและคุณไม่สามารถบังคับให้เขาตรวจสอบ การเปลี่ยนแปลงต่อไปนี้สำหรับเกมมาตรฐานจะมีผลบังคับใช้ด้วย (จะช่วยทำให้เกมง่ายขึ้น): En passantจะถูกละเว้น การขว้างเป็นไปไม่ได้ กฎห้าสิบย้ายนำไปใช้โดยอัตโนมัติ (หมายถึงเกมสิ้นสุดในการวาด) ผู้จำนำจะสามารถเลือกสิ่งที่พวกเขาส่งเสริม หากผู้เล่นต้องการความเคลื่อนไหวนานกว่า 2 วินาทีเขาจะแพ้ในเกม การคืนการย้ายที่ไม่ถูกต้องจะส่งผลให้สูญเสียเกม ที่จะชนะฝ่ายตรงข้ามของคุณจะต้องจับชิ้นส่วนทั้งหมดของคุณ ขาวเริ่มเกม สีขาวถูกวางไว้ "ที่ด้านล่าง" ของฟิลด์ (y = 0) สีดำจะอยู่ที่ด้านบน (y = 7) การเข้าถึงทรัพยากรอื่น ๆ นอกเหนือจากบอทของคุณ …

1
กำหนดผู้ชนะการแข่งขัน Connect 4
คุณได้รับตาราง Connect 4 ที่ได้รับการเติมเต็มบางส่วน (7x6) O X O X X O X O O X O X O X X O X X X O O X O O O X X O X (อินพุตสามารถกำหนดเป็นอาร์เรย์ 1D หรือ 2D และเป็นตัวอักษรหรือตัวเลขเป็นต้น) สมมติว่า X เริ่มเกม ยังไม่มีใครได้รับรางวัล ผู้เล่นอาจเล่นได้ไม่ดีจนถึงตอนนี้ แต่ตอนนี้พวกเขาทั้งสองจะใช้กลยุทธ์ที่ดีที่สุด กริดอินพุตไม่ผิดพลาด คุณต้องส่งออกค่าเดียวที่ระบุว่าผู้เล่นคนใดชนะ (หรือเสมอ) ความท้าทายของรหัสกอล์ฟ รหัสที่สั้นที่สุดจึงชนะ …


1
เกมผู้เล่น 2 คนที่สั้นที่สุดของ Halma
ในหมากรุกก็เป็นไปได้สำหรับเกมที่จะจบหลังจาก 4 ย้าย (2 แต่ละคน) กับคู่ของคนโง่ เป้าหมายของคุณคือค้นหา Fool's Mate of Halma : เกมสำหรับผู้เล่น 2 คนของ Halma ที่ลดจำนวนการเล่นลง มีสถานะของบอร์ดมากกว่า 10 56สถานะและฉันเห็นว่าปัจจัยการแตกสาขามีมากกว่า 1,000 ดังนั้นโอกาสที่จะไม่มีใครพบทางออกที่ดีที่สุด คุณกำลังพยายามหาทางออกที่ดีที่สุดแทน คุณควรส่งรายการการเคลื่อนไหวและรหัสใด ๆ ที่คุณใช้เพื่อสร้างการเคลื่อนไหวเหล่านั้น คำอธิบายของเกม Halma คล้ายกับ Chinese Checkers แต่เล่นบนกระดานขนาด 16 * 16 ตารางเมตร เริ่มแรกคณะกรรมการมีลักษณะเช่นนี้: เป้าหมายของเกมคือการย้ายชิ้นส่วนทั้งหมดของคุณไปยังตำแหน่งเริ่มต้นของชิ้นส่วนของฝ่ายตรงข้าม ในการเปิดของผู้เล่นเขา / เธออาจ: ผ่านการเลี้ยว ย้ายชิ้นใดชิ้นหนึ่งของเขา / เธอไปยังพื้นที่ว่างที่อยู่ติดกัน ช่องว่างที่อยู่ติดกันรวมถึงเส้นทแยงมุม เอาชิ้นหนึ่งของเขา / เธอและทำตามจำนวนครั้ง: กระโดดชิ้นเหนือชิ้นส่วนที่อยู่ติดกันเชื่อมโยงไปถึงในพื้นที่ตรงข้ามชิ้นกระโดดข้าม …

2
ก้าวต่อไปของคุณคืออะไร?
ความท้าทายนี้คือการเขียนฟังก์ชั่นมินิแมกซ์ในภาษาที่คุณเลือกเพื่อการส่งออกย้ายที่ดีที่สุดต่อไปในNxNเกมโอเอกซ์ที่ได้รับสถานะปัจจุบันคณะกรรมการ การป้อนข้อมูลที่คณะกรรมการสามารถได้รับการยอมรับว่าเป็นเมทริกซ์คอลเลกชัน 2Dหรือสิ่งอื่นใดที่ทำให้ความรู้สึกกับคุณ แต่ปฏิบัติตามกฎระเบียบ เอาท์พุทเป็นการเคลื่อนไหวที่ดีที่สุดในรอบต่อไปสำหรับผู้ที่เปิดอยู่ในขณะนี้โดยที่X ถูกพิจารณาว่าเริ่มต้นแล้ว พื้นหลังด่วนในขั้นตอนวิธีขั้นต่ำ แนวคิดพื้นฐานของอัลกอริธึมขั้นต่ำที่สุดคือการแจกแจงผลลัพธ์ที่เป็นไปได้ทั้งหมดในฐานะ DAG จากนั้นให้น้ำหนักด้วยประโยชน์ที่ลำดับของการเคลื่อนไหวมีต่อผู้เล่นโดยใช้การเคลื่อนไหวครั้งแรก ผลลัพธ์ที่เป็นไปได้ทั้งหมดจะถูก 'ส่ง' โดยการย้ายครั้งแรกและได้คะแนนตามผลรวมของผลลัพธ์ทั้งหมด (-1 สำหรับการสูญเสีย, 0 สำหรับการเสมอและ 1 สำหรับการชนะ) ในการใช้งานที่ต้องใช้ผู้เล่นหลายคนในการเล่นคุณระบุการเคลื่อนไหวที่เป็นไปได้ทั้งหมดโดยผู้เล่นและการตอบสนองที่เป็นไปได้ทั้งหมดโดยฝ่ายตรงข้ามเช่นกัน ตัวอย่างเช่นในเกมของ tic-tac-toe (หลังจากการย้ายครั้งแรก) มีการเคลื่อนไหวครั้งแรกที่เป็นไปได้ 8 อย่างที่คุณสามารถทำได้และพวกเขาทั้งหมดอาจดูเหมือนเท่ากันเมื่อวิเคราะห์เฉพาะเทิร์นถัดไป แต่ด้วยการวนซ้ำผ่านผลลัพธ์ที่เป็นไปได้ทั้งหมดสำหรับแต่ละชุดการเคลื่อนไหวที่เป็นไปได้ซึ่งส่งผลให้เกิดผลลัพธ์ขั้นสุดท้ายและรวมพวกเขาทั้งหมดไว้ สำหรับการสรุปมินิแม็กซ์อัลกอรึทึมในเชิงลึกและเชิงลึกยิ่งขึ้นในแง่ของโอเอกซ์อ่านเพิ่มเติมได้ที่นี่: http://neverstopbuilding.com/minimax XKCD (โซลูชั่น 3x3 เท่านั้น) กฎระเบียบ สามารถใช้ภาษาใดก็ได้ แต่ไม่อนุญาตให้ใช้ไลบรารีมินิแมกซ์ภายนอก เอาต์พุตสามารถเป็นพิกัด (0-n, 0-n) หรือตัวเลข (1-n * n) ที่บ่งบอกถึงการเคลื่อนที่ครั้งต่อไปที่ดีที่สุด นอกจากนี้คุณจะต้องสามารถระบุได้ว่าสถานการณ์กรณีที่ดีที่สุดคือการสูญเสียหรือเสมอกันแทนที่จะชนะ วิธีที่คุณแสดงถึงการสูญเสียหรือเสมอกันคือขึ้นอยู่กับคุณอีกครั้ง อินพุตต้องใช้ X และ O …

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
คุณสามารถชนะด้วยการเคลื่อนไหวอีกสองครั้งที่ Three Men's Morris ได้ไหม?
โปรดปราน ลำดับ 1 ( มอบรางวัล ) ฉันจะโยน 50 ตัวแทนสำหรับคำตอบแรกที่ถูกต้อง ฉบับที่ 2 ( ได้รับรางวัล ) ฉันจะโยนอีก 100 ตัวแทนสำหรับคำตอบที่ถูกต้องสั้นที่สุด หมายเลข 3 ( เปิดสำหรับการส่ง ) ฉันจะโยนใน 200 ตัวแทนสำหรับคนแรกที่มีคำตอบที่ถูกต้องสั้นลงอย่างมีนัยสำคัญ มีนัยสำคัญที่มากที่สุด 45% ของคำตอบที่สั้นที่สุดในปัจจุบัน ( 564 ไบต์ x 0.45 = สูงสุด 254 ไบต์ ) เกม คุณจำเกมคลาสสิค " Nine Men's Morris " หรือเพียงแค่ " Mill " มีรูปแบบที่เรียกว่าThree …

5
เล่น Nim ของ Wythoff อย่างสมบูรณ์แบบ
เป้าหมายของคุณคือการเขียนเป็นผู้เล่นที่สมบูรณ์แบบสำหรับการเล่นเกมของWythoff ของสะเดา กฎของ NIM ของ Wythoff Wythoff's Nim เป็นเกมที่มีผู้เล่นสองคนที่เล่นกับกองที่เหมือนกันสองกอง ผู้เล่นผลัดกันซึ่งพวกเขาทำอย่างใดอย่างหนึ่งเหล่านี้ ลบหนึ่งเคาน์เตอร์ขึ้นไปจากกองแรก ลบหนึ่งเคาน์เตอร์ขึ้นไปจากกองที่สอง ลบจำนวนตัวนับเท่ากัน (อย่างน้อยหนึ่งตัว) จากทั้งกองแรกและกองที่สอง แน่นอนว่ากองไม่สามารถติดลบได้ แต่พวกเขาสามารถทำได้ถึง 0 ผู้เล่นใดก็ตามที่นับคะแนนสุดท้ายโดยรวมชนะเกม สำหรับความคิดเชิงเรขาคณิตที่มากขึ้นนี่คือสูตรที่เทียบเท่าของเกมที่คุณสามารถเล่นบนแอปเพล็ตนี้ ราชินีเดี่ยวเริ่มต้นบนกระดานหมากรุกที่ไม่มีที่สิ้นสุดของสี่เหลี่ยมจัตุรัสซึ่งมีมุมอยู่ทางซ้ายล่าง ผู้เล่นเลือกที่จะย้ายราชินีซึ่งเคลื่อนไหวเหมือนราชินีหมากรุก แต่ถูก จำกัด ไว้ที่สามทิศทาง: ลง ซ้าย ทแยงมุมลงและซ้าย ใครก็ตามที่ย้ายราชินีไปยังมุมที่ชนะ เชื่อมโยงพิกัดของราชินี (กับมุม(0,0)) กับขนาดของเสาเข็มที่เกี่ยวข้องมันเป็นเรื่องง่ายที่จะเห็นทั้งสองเกมเหมือนกัน การเล่นที่สมบูรณ์แบบ (คุณสามารถข้ามสิ่งนี้ได้หากคุ้นเคยกับแนวคิดของการเล่นที่สมบูรณ์แบบและการเคลื่อนไหวที่ชนะ) ตั้งแต่ Wythoff ของสะเดาเป็นเกมที่ จำกัด และกำหนดก็มีความคิดของการเล่นที่สมบูรณ์แบบ ผู้เล่นที่สมบูรณ์แบบคือกลยุทธ์ที่มักจะชนะจากตำแหน่งที่ชนะในทางทฤษฎีซึ่งหมายถึงตำแหน่งที่มีกลยุทธ์ที่รับประกันการชนะ เพื่อเป็นกลยุทธ์ในการชนะมันพอเพียงที่จะย้ายไปยังตำแหน่งที่ชนะตามทฤษฎีสำหรับผู้เล่นที่เพิ่งย้ายไปและทำให้ผู้เล่นไม่ไปต่อไป ครั้งแรกของตำแหน่งชนะเลิศเหล่านี้ (หรือที่เรียกว่าตำแหน่งเย็น ) (0,0), (1,2), (2,1), (3,5), (5,3)เป็น ดูบทความวิกิพีเดียสำหรับคำอธิบายเกี่ยวกับอัลกอริทึมเพื่อค้นหากลยุทธ์การชนะสำหรับนิมของ …

1
ผู้ตั้งถิ่นฐานแห่ง Catan - ถนนที่ยาวที่สุด!
นี่คือบอร์ด endgame ของ Settlers of Catan: พื้นหลัง: ถนน (ชิ้นส่วนแท่งยาว) และการตั้งถิ่นฐาน (และเมือง) ถูกสร้างขึ้นโดยกระท่อมเล็ก ๆ เราเข้ารหัสการจัดวางชิ้นส่วนเหล่านี้โดยใช้รูปแบบต่อไปนี้: จากด้านบนเรามีจุดยอดและแนวนอนแนวนอนที่สามารถวางถนนได้ จากนั้นเรามีคอลัมน์ของถนนเท่านั้นและอื่น ๆ การใช้ R สำหรับสีแดง, O สำหรับออเรนจ์และ B สำหรับ Blue และ _ เพื่ออะไรเลยบอร์ดภาพจะถูกเข้ารหัสเป็น: ________RR_R_ __R_ __RR_R_RRR_____R_ B___R _B_________B__OO_OOR_ B__B_R BB_BBB_____B____RR_R_ OBB_O OO__BB_BB__OOO_OO O_O_ _O_OOO_O_____ บอร์ดแบบนี้จะเป็นสตริงอินพุตของคุณ ตัวอักษรใด ๆ[A-Z]อาจบ่งบอกถึงสีของผู้เล่น แต่จะมีได้ไม่เกินสี่สี มิฉะนั้นบอร์ดรับประกันว่าจะถูกต้องตามกฎของ Settlers ซึ่งหมายถึง: แต่ละสีจะมีเครือข่ายถนนที่ต่อเนื่องกันไม่เกินสองเครือข่ายซึ่งอาจหรือไม่อาจแยกออกจากการตั้งถิ่นฐาน / เมืองของผู้เล่นคนอื่น (อาคารจุดสุดยอด) …

7
ความเสมอภาคผันผวน
เรามีวัตถุที่สั่นระหว่างจุดสองจุดจำนวนเต็ม[l, r]ที่ความเร็วของหนึ่งหน่วยต่อหน่วยเวลาที่เริ่มต้นที่เกี่ยวกับl คุณอาจจะสมมติt=0 l < rตัวอย่างเช่นถ้าวัตถุแกว่งไป[3, 6]มาเราจะได้: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 ฯลฯ แต่วัตถุสั่นอย่างต่อเนื่องดังนั้นเราจึงยังมีและt=0.5 -> 3.5t=3.7 -> 5.3 เมื่อให้วัตถุสองชนิดสั่นระหว่างกัน[l1, r1]ให้[l2, r2]กำหนดว่ามีเวลาใดtที่วัตถุทั้งสองแบ่งปันตำแหน่งเดียวกันหรือไม่ คุณใช้เวลาl1, r1, l2, r2ในรูปแบบที่สะดวกและส่งออกค่าจริง / เท็จ อินพุตที่แท้จริง: [[3, 6], [3, …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

14
ผลรวมสะสมแบบวนซ้ำของ [N] ด้วยการวนซ้ำ M
ใช้จำนวนเต็มบวกสองจำนวนNแล้วMสร้างผลบวกสะสม[N]โดยมีMการวนซ้ำ เอาต์พุตผลลัพธ์ของการวนซ้ำล่าสุด คำจำกัดความของผลรวมสะสมตัดแบ่ง: เริ่มต้นด้วยตัวเลขNและกำหนดลำดับX = [N] ผนวกกับXผลรวมสะสมของX ทำซ้ำขั้นตอนที่ 2 Mครั้ง ผลรวมสะสมของเวกเตอร์X = [x1, x2, x3, x4]คือ: [x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]. ตัวอย่างด้วยN = 1และM = 4: P = ฟังก์ชันผลรวมสะสม M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

15
โอเอกซ์ - X หรือ O
พื้นหลัง ข้ามไปที่ "งาน" หากคุณคุ้นเคยกับ Tic-Tac-Toe (ฉันคิดว่าส่วนใหญ่เป็น!) Tic-Tac-Toeเป็นเกมที่มีผู้เล่นสองคนที่มีชื่อเสียง มันประกอบด้วยกระดาน3x3ที่เต็มไปด้วยผู้เล่นสองคนค่อยๆ ผู้เล่นคนแรกที่ใช้ตัวละครXและอื่น ๆ Oที่ใช้อย่างใดอย่างหนึ่ง ผู้ชนะคือคนแรกที่ได้รับ 3 ตัวละครติดต่อกันและเหมือนกัน ( XหรือO) ทั้งแนวนอนแนวตั้งหรือแนวทแยงมุม ในกรณีที่บอร์ดเต็มและไม่มีผู้เล่นคนใดจัดการตัวละครสามตัวติดต่อกันตามที่อธิบายไว้ข้างต้นเกมจะจบลงด้วยการเสมอกัน โปรดทราบว่าอาจมีจุดที่ว่างเปล่าในตอนท้ายของเกมในกรณีที่ผู้เล่นคนใดคนหนึ่งชนะในการเคลื่อนที่น้อยกว่า 9 ครั้ง (ไม่สามารถเกิดขึ้นได้ในกรณีที่เสมอกัน) งาน ให้บอร์ด Tic-Tac-Toe ในตอนท้ายของเกม (ในรูปแบบของสตริง, เมทริกซ์, รายการค่าคงที่ 9 ค่าสั่ง, รูปแบบที่เหมาะสมอื่น ๆ ), กำหนดผู้ชนะเกม อินพุตจะประกอบด้วยค่าที่แตกต่างและสอดคล้องกันหนึ่งสำหรับXหนึ่งสำหรับหนึ่งOและอีกคนหนึ่งที่แสดงถึงจุดที่ว่างเปล่า โปรแกรมของคุณควรจะสามารถส่งออก 3 ค่าที่ชัดเจนสอดคล้องและไม่ว่างเปล่า: หนึ่งรายการในกรณีXชนะ, อีกรายการหนึ่งในกรณีOชนะหรืออีกรายการหนึ่งหากผู้เล่นถูกผูกไว้ โปรดระบุค่าเหล่านี้ในคำตอบของคุณ คุณสามารถสันนิษฐานได้ว่าอินพุตจะเป็นบอร์ด Tic-Tac-Toe ที่ถูกต้อง กรณีทดสอบ X, O, _มีค่าที่ป้อนเข้าที่นี่; X …

1
หมากฮอส: King Me?
ท้าทาย: ให้หมากฮอสเอาท์พุทจำนวนน้อยที่สุดเท่าที่มันจะเอา (สมมติว่าดำไม่ขยับเลย) กับกษัตริย์ชิ้นแดงถ้าเป็นไปได้ กฎ : ด้านข้างของสีแดงจะอยู่ด้านล่างเสมออย่างไรก็ตามชิ้นส่วนของพวกเขาอาจเริ่มต้นในแถวใดก็ได้ (แม้แต่แถวของกษัตริย์ที่พวกเขาต้องไป) ชิ้นส่วนสีดำนิ่งอยู่กับที่ซึ่งหมายความว่าพวกมันไม่เคลื่อนไหวระหว่างการเคลื่อนไหวของสีแดง แต่จะถูกลบออกจากกระดานเมื่อถูกจับ โปรดทราบว่าชิ้นส่วนสามารถเริ่มบนพื้นที่ใดก็ได้บนกระดานรวมถึงติดกัน นี่ไม่ใช่วิธีการเล่นตัวตรวจสอบปกติ แต่โปรแกรมของคุณจะต้องสามารถแก้ไขปัญหาเหล่านี้ได้ (ดูอินพุต 5) อย่างไรก็ตามตัวตรวจสอบจะต้องเคลื่อนที่ในแนวทแยงมุมเท่านั้น(ดูอินพุต 3) อนุญาตให้ถ่ายภาพย้อนหลังได้หากการจับภาพครั้งแรกไปข้างหน้าในโซ่ (ดูอินพุต 7) การป้อนข้อมูล: กระดานหมากรุกขนาด 8x8 พร้อมช่องว่างของกระดานที่กำหนดเป็นอักขระต่อไปนี้ (อย่าลังเลที่จะใช้ตัวเลือกอื่นตราบใดที่มันยังมีความสอดคล้องกัน): . - ว่างเปล่า R - ชิ้นสีแดง B - ชิ้นสีดำ เอาท์พุท: ที่เล็กที่สุดจำนวนของการเคลื่อนไหวมันจะใช้ชิ้นส่วนสีแดงจะเป็น 'kinged' โดยการป้อนแถวของกษัตริย์แถวบนสุดของคณะกรรมการ (ด้านสีดำ) 0 ถ้าไม่มีการเคลื่อนไหวจะต้อง (ชิ้นสีแดงเริ่มต้นในแถวของกษัตริย์) หรือ ตัวเลขที่เป็นลบถ้ามันเป็นไปไม่ได้ที่จะเป็นราชาชิ้นสีแดง (เช่นสีดำตรงบริเวณนั้นเป็นแถวแรกทั้งหมด) อินพุต 1: . . . …

25
จำนวนชิ้นบนกระดานหมากรุก
บทนำ กระดานหมากฮอสปกติประกอบด้วย 8 x 8 = 64 กำลังสอง: คุณจะเห็นว่าในทั้งหมดมี12 ชิ้นสีขาว ขาวดำมีจำนวนชิ้นเท่ากันเสมอ หากมีชิ้นส่วนใด ๆ บนกระดานชิ้นส่วนจะอยู่ใกล้เคียงซึ่งไม่ได้รับอนุญาตสำหรับความท้าทายนี้ เพื่อชี้แจงสิ่งต่าง ๆ ต่อไปนี้เป็นตัวอย่าง: บอร์ดที่เล็กที่สุดที่เป็นไปได้สำหรับความท้าทายนี้คือ3 x 3 : คุณจะเห็นว่าจำนวนเงินสูงสุดของชิ้นเท่ากับ2 ดังนั้นเมื่อได้รับN = 3คุณจะต้องเอาท์พุท2 หากอินพุตคือN = 4เราจะได้รับสิ่งต่อไปนี้: คุณจะเห็นว่าจำนวนเงินสูงสุดยังเป็น 2. ดังนั้นสำหรับN = 4ผลผลิตที่ควรจะเป็น2 สำหรับN = 5ผลลัพธ์ควรเท่ากับ5 : ตัวอย่าง STDIN: 3 STDOUT: 2 STDIN: 4 STDOUT: 2 STDIN: 5 STDOUT: 5 …

2
เล่นโอเอกซ์และไม่แพ้
(มีบางความท้าทายที่จำเป็นต้องใช้กลยุทธ์ที่ดีที่สุด แต่ที่นี่เราทำไม่ได้แม้ว่าคุณจะสามารถชนะคุณจะได้รับอนุญาตให้ผูก) ท้าทาย เขียนโปรแกรมที่เล่นเกมโอเอกซ์ ต้องไม่แพ้ (ดังนั้นควรจบเกมด้วยการเสมอหรือโดยการชนะ) อนุญาตให้ใช้วิธี I / O อินพุตอาจเป็นบอร์ดปัจจุบัน คุณสามารถสันนิษฐานได้ว่าการเคลื่อนไหวก่อนหน้าของผู้เล่นคนที่ 2 ทั้งหมดถูกเล่นโดยเครื่องยนต์ของคุณ อินพุตอาจเป็นการเคลื่อนไหวของผู้เล่นคนแรกและฟังก์ชั่นของคุณจะเก็บการเคลื่อนไหวที่เกิดขึ้นในอดีต ในกรณีนี้ฟังก์ชั่นนี้เรียกว่าหลายครั้งหนึ่งครั้งต่อการเคลื่อนไหวแต่ละครั้ง หรืออินพุต / พรอมต์ของฟังก์ชัน / โปรแกรมหลายครั้ง คุณได้รับอนุญาตให้ป้อนข้อมูลเพิ่มเติมโดยบอกว่าคุณเป็นผู้เล่นคนแรกหรือเขียนสองฟังก์ชั่น (อาจเกี่ยวข้องกัน) เพื่อแก้ปัญหาผู้เล่นคนแรกและผู้เล่นคนที่สอง หากโปรแกรมของคุณต้องการใช้วิธีการป้อนข้อมูล 2 (การโทรหลายสาย) คุณสามารถตัดสินใจได้ว่าจะส่งสิ่งใดในการโทรครั้งแรก เอาท์พุทอาจเป็นคณะกรรมการหลังจากที่คุณเปิด เอาท์พุทอาจจะย้ายของคุณ การย้ายอาจแสดงเป็นคู่ของตัวเลข (สามารถเป็นดัชนี 0 หรือดัชนี 1 ดัชนี) ตัวเลขในช่วง 0 ~ 8 หรือตัวเลขในช่วง 1 ~ 9 บอร์ดอาจแสดงเป็นอาร์เรย์ 3 × 3 หรืออาร์เรย์ที่มีความยาว 9 …

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