حل تمرین سوغات مارکوپولو کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین سوغات مارکوپولو کوئرا با پایتون
چه برایمان آوردهای مارکو؟ سوالی است که هر کس پس از بازگشت مارکو از سفر از او خواهد پرسید! پس مارکو سعی میکند در هر سفر بیشترین سوغات ممکن را با خود همراه داشته تا شرمنده دوستان و همشهریان خود نشود. در هر سفر مارکو, تعدادی فروشگاه در مسیر او قرار دارد که او به ترتیب آنها را میبیند. هر فروشگاه دو حق انتخاب به مارکو میدهد و او دقیقا باید یکی از آن دو را انتخاب کند. توجه کنید ممکن است هر دو حق انتخابی که به مارکو میدهند یکچیز شود یا به عبارتی توهم آزادی انتخاب!
هر حق انتخاب یکی از این دو است:
- مارکو میتواند یک سوغاتی بخرد که ما آن را حق انتخاب buy_one مینامیم.
- مارکو میتواند تعداد سوغاتیهای خود را دو برابر کند که ما آن را copy_paste مینامیم.
حال به مارکو بگویید از هر سفر چه تعداد سوغات میتوان بیاورد.
ورودی
در سطر اول ورودی تعداد سفرهای مارکو میآید. سپس اطلاعات t سفر در خطوط بعد میآید.
![]()
در خط اول سفر i تعداد فروشگاهها Si میآید سپس در Si سطر بعد در هرکدام دو رشته با فاصله میآید که حق انتخابهای مارکو را نشان میدهد. هر حق انتخاب یکی از buy_one یا copy_paste است.
![]()
خروجی
به ترتیب برای هر سفر بیشترین سوغاتی ممکن در دست مارکو پس از سفر را در سطری جداگانه خروجی دهید.
مثال
ورودی نمونه 1
3 1 buy_one copy_paste 3 copy_paste copy_paste buy_one copy_paste copy_paste copy_paste 2 buy_one buy_one copy_paste copy_paste
خروجی نمونه 1
1 2 2
کد پایتون سوال تمرین سوغات مارکوپولو
import sys
MAX_SIZE = 1005
def read_int():
return int(sys.stdin.readline())
def main():
t = read_int()
ans = [0] * MAX_SIZE
for i in range(t):
x = read_int()
for _ in range(x):
s1, s2 = input().split()
if ans[i] != 0 and (s1 == "copy_paste" or s2 == "copy_paste"):
ans[i] *= 2
elif s1 != "copy_paste" or s2 != "copy_paste":
ans[i] += 1
for i in range(t):
print(ans[i])
if __name__ == "__main__":
main()
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.















خیلی خوبه که با حل شما الگوریتم این تمرین رو یاد گرفتم
موفق باشید.
خیلی دوست داشتم این تمرینو
موفق باشید.
راستش اولش ترسیدم خیلی طول بکشه ولی دیدم نه سریع جواب داد
خیلی خوشحالیم. موفق باشید.
به نظرم بخش جذابش اینه که الگوریتم میره تا وقتی جواب پیدا شه و تو نمیدونی کجا تموم میشه
خوشحالیم که تونستید متوجه ماهیت این سوال بشوید.
سطح این سوال به نظر شما چیه؟
سطح این سوال ساده است.