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...
........
........
........

ความช่วยเหลือ: ไม่มีคำใบ้สำหรับปัญหานี้

กำลังออนไลน์: 17 ผู้เยี่ยมชมและ 8 สมาชิก (0 บอท)