ผู้ใช้งาน:
รหัสผ่าน:
[
ลืมรหัสผ่าน
|
ลงทะเบียนสมาชิกใหม่
]
ถาวร
ย้อนกลับ
ส่งโค้ด
สถิติเวลาน้อยที่สุด
สถิติทั้งหมด
1034 : Reversi
Problem type
: Batch
Time limit
: 1.0 second(s)
Memory limit
: 64 megabyte(s)
ริเวอสิ (Reversi หรือ Othello)
เป็นเกมที่เล่นกระดานขนาด 8x8 ช่อง ที่เล่นโดยผู้เล่นสองคน โดยคนหนึ่งจะใช้หมากสีดำ และอีกคนจะใช้หมากสีขาว การเริ่มการเล่นทุกครั้งจะต้องวางหมากสีดำและหมากสีขาวอย่างละสองตัวตรงกลางตารางดังภาพที่ ๑
ผู้เล่นที่ใช้หมากสีดำจะเป็นผู้เริ่มเล่นก่อนเสมอ โดยการเล่นจะต้องวางหมากลงในตำแหน่งที่มีหมากสีขาวอยู่ตรงกลาง ในแนวนอน แนวตั้ง หรือแนวทะแยงทั้งสองด้าน ซึ่งในรูปที่ ๒ เป็นตำแหน่งที่สีดำสามารถจะวางหมากของตัวเองลงได้
ในรูปที่ ๓ เป็นผลลัพธ์จากการวางหมากที่ตำแหน่ง d3 ซึ่งทำให้หมากสีขาวที่ตำแหน่ง d4 "ถูกจับ" ซึ่งทำให้ หมากสีขาวที่ d4 ถูกเปลี่ยนมาเป็นหมากสีดำ
ทีนี้หมากสีขาวจะเหลือเพียงตัวเดียว รูปที่ ๔ แสดงตำแหน่งที่วางได้ของสีขาว นั่นก็คือจะต้องมีหมากสีดำอย่างน้อยหนึ่งตัวถูกจับในการวางหมากสีขาวครั้งนี้
ในรูปที่ ๕ เป็นการแสดงผลลัพธ์หลังจากที่หมากสีขาวถูกวางหมากที่ c5
นอกจากนี้ ในการวางหมากแต่ละครั้งนั้นอาจทำให้หมากของผู้เล่นฝ่ายตรงข้ามถูกจับได้มากกว่าหนึ่งหมาก หากหมากเหล่านั้นถูกปิดหัวท้าย (ในแนวนอน แนวตั้ง และแนวทแยง) ด้วยหมากสีตรงข้ามกับหมากใหม่ที่ถูกวางลงไป เช่นในรูปที่ ๖ การวางหมากสีขาวในตำแหน่ง d6 จะทำให้หมากสีดำในตำแหน่ง d4 d5 และ e5 ถูกเปลี่ยนเป็นสีขาวทั้งหมด
ผู้เล่นก็จะต้องผลัดกันเล่นอย่างนี้ไปเรื่อยๆ ทั้งนี้จะไม่มีผู้เล่นคนใดลงผิดกติกา ถ้าผู้เล่นคนใดไม่สามารถหาที่วางอย่างถูกกติกาได้กะจะผ่านไปให้ผู้เล่นอีกคนเล่นแทน เมื่อจบเกมผู้เล่นที่มีหมากสีของตัวเองมากกว่าจะเป็นผู้ชนะ
โจทย์
จงเขียนโปรแกรมเพื่อรับขั้นตอนการเล่นริเวอสิของผู้เล่นสองคน โดยสีดำเป็นผู้เริ่มเล่นก่อนเสมอ แล้วหาว่าเมื่อวางหมากหมดแล้วตำแหน่งของหมากบนตารางเป็นอย่างไร ทั้งนี้ในข้อมูลทดสอบทุกชุด การวางทุกครั้งจะมีการวางที่ถูกกติกาเสมอ
ข้อมูลนำเข้า
บรรทัดแรก
เป็นจำนวนหมากทั้งสองสีที่วางในเกมนี้ เป็นจำนวนเต็ม k (1 <= k <= 60)
บรรทัดที่ 2*i
(1 <= i <= k/2) เป็น ตำแหน่งการวางของหมากสีดำ และ
บรรทัดที่ 2*i+1
(1 <= i <= k/2) เป็น ตำแหน่งการวางของหมากสีขาวโดยแต่ละบรรทัดจะเป็นตำแหน่งบนกระดานที่จะเอาหมากไปวาง โดยจะประกอบด้วยตัวอักษรหนึ่งตัว ('a'..'h') และจำนวนเต็มหนึ่งค่า (1-8) คั่นด้วยช่องว่าง
ข้อมูลส่งออก
ให้แสดงสถานะของตารางโดยจะมี 8 บรรทัด โดยแต่ละบรรทัดจะแทนข้อมูลแถวที่ 1 ถึงแถวที่ 8 ตามลำดับ และแต่ละบรรทัด จะมีตัวอักขระ 8 ตัวแทนสถานะของแถวนั้น โดยตัวอักขระตัวที่ 1-8 คือข้อมูลของคอลัมน์ a-h ในแต่ละคอลัมน์จะแทนด้วย
'.' (จุดทศนิยม) ถ้าไม่มีหมากใดในช่อง
'X' (ตัวอักษรเอ็กซ์ ตัวพิมพ์ใหญ่)ถ้ามีหมากสีดำอยู่ในช่อง และ
'O' (ตัวอักษรโอ ตัวพิมพ์ใหญ่) ถ้ามีหมากสีขาวในช่องนั้น
ที่มา
: การสอบแข่งขันคณิตศาสตร์และวิทยาศาสตร์โอลิมปิกแห่งประเทศไทย
ประจำปี พ.ศ.2549 (สอบแข่งขันรอบที่ 2 ภาคปฏิบัติวันที่ 2)
ตัวอย่างข้อมูลนำเข้า
ตัวอย่างข้อมูลส่งออก
2
d 3
c 5
........
........
...X....
...XX...
..OOO...
........
........
........
ความช่วยเหลือ:
ไม่มีคำใบ้สำหรับปัญหานี้
กำลังออนไลน์: 25 ผู้เยี่ยมชมและ 0 สมาชิก (1 บอท)