মান লিজিয়ে একটি সংখ্যা n দেওয়া আছে, আমাদের দৈর্ঘ্য n এর স্ট্রিংয়ের সংখ্যা বের করতে হবে যেগুলো শুধু ভোয়েল (a, e, i, o, u) দিয়ে বানানো এবং লেক্সিকোগ্রাফিক্যালি সর্টেড। একটি স্ট্রিং s লেক্সিকোগ্রাফিক্যালি সর্টেড বলা হয় যদি সব ভ্যালিড i এর জন্য s[i] অ্যালফাবেটে s[i+1]-এর আগে বা একই থাকে।
যেমন, ইনপুট হলে n = 2, তবে আউটপুট হবে 15 কারণ স্ট্রিংগুলো: ["aa","ae","ai","ao","au","ee","ei","eo","eu","ii","io","iu","oo","ou","uu"]।
সমাধানের ধাপসমূহ
যদি
n == 1হয়, তবে5রিটার্ন করুন।count := [1]*6i = 3থেকেnপর্যন্ত:count[1] += count[2]+count[3]+count[4]+count[5]count[2] += count[3]+count[4]+count[5]count[3] += count[4]+count[5]count[4] += count[5]
total := 0i = 1থেকে5পর্যন্ত:total += i * count[i]totalরিটার্ন করুন।
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন:
def solve(n):
if n == 1:
return 5
count = [1 for i in range(6)]
for i in range(3, n+1):
count[1] = count[1] + count[2] + count[3] + count[4] + count[5]
count[2] = count[2] + count[3] + count[4] + count[5]
count[3] = count[3] + count[4] + count[5]
count[4] = count[4] + count[5]
total = 0
for i in range(1, 6):
total += i * count[i]
return total
n = 2
print(solve(n))ইনপুট
2
আউটপুট
15