Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาผู้ชนะเกมลบอาร์เรย์ใน Python

อมลและบิมลเล่นกับอาร์เรย์ A: บิมลเริ่มก่อน แต่ละรอบลบค่าสูงสุดและทุกค่าด้านขวา ผู้ที่ลบค่าที่เหลือหมดชนะ

ตัวอย่าง: nums=[5,2,6,3,4] → Amal ชนะ (บิมลลบ 6,3,4 เหลือ [5,2] อมลลบหมด)

ขั้นตอนการแก้ปัญหา

นับจำนวน "record highs" (ค่าที่มากกว่าค่าทุกตัวก่อนหน้า) หากจำนวนเป็นคู่ → Amal ชนะ มิฉะนั้น Bimal ชนะ

ตัวอย่างโค้ด Python

def solve(nums):
    maximum = -1
    count = 0
    for a in nums:
        if a > maximum:
            count += 1
            maximum = a
    return "Amal" if count % 2 == 0 else "Bimal"

# ทดสอบ
nums = [5, 2, 6, 3, 4]
print(solve(nums))  # ผลลัพธ์: Amal

อินพุตตัวอย่าง

[5,2,6,3,4]

เอาต์พุตตัวอย่าง

Amal