ปัญหา
สี่เหลี่ยมขนาด n x n แบ่งเป็น n² ช่องเล็ก มี 1 ช่องสี ตัดสี่เหลี่ยมใหญ่เป็น 2 ส่วนที่เป็น mirror image กัน เส้นตัดห้ามผ่านช่องสี ตรวจสอบว่าตัดได้หรือไม่
เงื่อนไข
เส้นตัดสมมาตรต้องผ่านศูนย์กลาง ช่องสีต้องไม่อยู่บนเส้นตัด
สำหรับ n คู่: เส้นตัดอยู่ระหว่างแถว/คอลัมน์ n/2 และ n/2-1
ช่องสีอยู่ที่ (r, c) (0-indexed) → ตัดไม่ได้ถ้า r ∈ {n/2-1, n/2} และ c ∈ {n/2-1, n/2}
ตัวอย่าง
n = 50, colored = (25, 25) → mid = 25, ช่องสีอยู่ที่ (25,25) → อยู่บนเส้นตัด → "Cutting is not possible"
โค้ดตัวอย่าง
def solve(n, r, c):
mid = n // 2
# สำหรับ n คู่: เส้นตัดอยู่ระหว่าง mid-1 และ mid
# ช่องที่อยู่บนเส้นตัดคือ (mid-1, mid-1), (mid-1, mid), (mid, mid-1), (mid, mid)
if (r == mid-1 or r == mid) and (c == mid-1 or c == mid):
return "Cutting is not possible"
return "Cutting is possible"
print(solve(50, 25, 25)) # Cutting is not possible
อินพุต / เอาต์พุต
Input: 50, 25, 25 Output: Cutting is not possible