(ขึ้นอยู่กับปัญหา Math.SE นี้ซึ่งให้กราฟิกบางส่วน)
ฉันมีไม้เท้าซึ่งดูเหมือนจะเป็นแบบนี้:
ฉันอยากให้มันดูเป็นแบบนี้:
อย่างไรก็ตามฉันไม่ได้เป็นจิตรกรผู้เชี่ยวชาญดังนั้นก่อนที่ฉันจะเริ่มโครงการ DIY ที่ทะเยอทะยานฉันต้องการให้แน่ใจว่าฉันไม่ได้อยู่ในหัวของฉัน
โปรแกรมของคุณควรบอกฉันว่ามีกี่ขั้นตอนในการทาสีแท่งนี้ แต่ละขั้นตอนเกี่ยวข้องกับการวาดภาพพื้นที่ต่อเนื่องด้วยสีทึบซึ่งครอบคลุมชั้นของสีก่อนหน้า สำหรับตัวอย่างข้างต้นฉันสามารถวาดครึ่งซ้ายสีน้ำเงินครึ่งขวาสีแดงจากนั้นพื้นที่สีเขียวสองแห่งแยกเป็น 4 ขั้นตอนทั้งหมด (สีเขียวไม่ได้ทาสีอย่างต่อเนื่อง)
นี่คือใน ASCII:
------
bbb---
bbbrrr
bgbrrr
bgbrgr
มีสองวิธีที่แตกต่างกันในการทาสีคันนี้และจบลงด้วยผลลัพธ์เดียวกัน ฉันสนใจในการประมาณเวลาเท่านั้นซึ่งเป็นสี่ขั้นตอน
เป้าหมาย
โปรแกรมของคุณควรแสดงจำนวนขั้นต่ำที่จำเป็นในการทาสีแท่งด้วยโทนสีที่กำหนด ชุดรูปแบบสีจะอยู่ในรูปแบบของสตริงอักขระในขณะที่เอาต์พุตจะเป็นตัวเลข นี่คือรหัสกอล์ฟ โปรแกรมที่สั้นที่สุดชนะ
อินพุต
โปรแกรมของคุณจะได้รับชุดสีสำหรับแท่งในรูปแบบของตัวอักษร แต่ละตัวอักษรที่ไม่ซ้ำกัน (กรณีที่สำคัญ) หมายถึงสีที่ไม่ซ้ำกัน
YRYGR
grG
GyRyGyG
pbgbrgrp
hyghgy
เอาท์พุต
ตัวเลขเหล่านี้เป็นขั้นตอนจำนวนน้อยที่สุดที่จำเป็นในการทาสีแท่ง
4
3
4
5
4
คำอธิบาย
นี่คือวิธีที่ฉันไปถึงที่หมายเลขด้านบน โปรแกรมของคุณไม่จำเป็นต้องแสดงผลลัพธ์นี้:
-----
YYY--
YRY--
YRYG-
YRYGR
---
g--
gr-
grG
-------
GGGGGGG
GyyyGGG
GyRyGGG
GyRyGyG
--------
pppppppp
pbbbpppp
pbbbrrrp
pbgbrrrp
pbgbrgrp
------
-yyyyy
-ygggy
hygggy
hyghgy
แก้ไข: ฉันจะเพิ่มกรณีทดสอบเพิ่มเติมหากพิสูจน์ได้ว่าเป็นกรณีทดสอบที่ยากขึ้น