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