คุณมีอาร์เรย์อินพุตขนาด m * n แต่ละเซลล์ในอาเรย์นั้นบรรจุด้วย P หรือ T การดำเนินการเดียวที่คุณสามารถทำได้ในอาเรย์คือคอลัมน์แบบพลิก เมื่อคุณพลิกคอลัมน์ตัวอักษรในเซลล์ทั้งหมดของสวิตช์คอลัมน์นั้น (P กลายเป็น T และ viceversa) หากคุณมีจำนวนแถว 'x' ที่มีตัวอักษรเดียวกัน (เช่น PPPP) คุณจะได้รับคะแนน ออกแบบอัลกอริทึมที่ใช้ในอาเรย์และส่งกลับโซลูชัน (คอลัมน์ที่จะพลิก) เพื่อให้อาเรย์ที่เกิดขึ้นนั้นมีจำนวนคะแนนสูงสุด
หมายเหตุ: ในกรณีที่มีวิธีแก้ไขปัญหาหลายอย่างที่ให้คะแนนสูงสุดให้เลือกวิธีที่มีจำนวนการพลิกน้อยที่สุด ตัวอย่าง:
อินพุตอาร์เรย์:
PPTPP
PPTPP
PPTTP
PPPTT
PPPTT
เอาท์พุท:
3
คำอธิบาย:
โซลูชันที่ให้คะแนนสูงสุด: พลิกคอลัมน์หมายเลข 3
จากนั้นอาร์เรย์ดั้งเดิมจะเป็น:
PPPPP // 1 point
PPPPP // 1 point
PPPTP
PPTTT
PPTTT
//Total: 2 points
โปรดทราบว่าเราสามารถพลิกคอลัมน์ 4 และ 5 เพื่อให้ได้คะแนนสอง แต่ต้องมีการพลิกเพิ่ม
คุณอาจจะใช้รูปแบบการป้อนข้อมูลใด ๆ ที่สะดวกในการเป็นตัวแทนของอาร์เรย์สองมิติและคุณอาจยังสองที่แตกต่างกัน แต่คงค่าที่จะเป็นตัวแทนและPT
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ