• محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

در فایل‌های شرکت شبکه الکترونیکی پرداخت کارت، که به نام شاپرک شناخته می‌شود، یک عبارت ریاضی نوشته شده بود. متأسفانه این عبارت بدون پرانتزگذاری بوده و به دلیل به‌روزرسانی سیستم‌ها، علامت‌های ریاضی آن به \(?\) تغییر کرده است.

اکنون با یک رشته به صورت \(a?b?c\) مواجه هستیم که به‌جای \(a\)، \(b\) و \(c\) اعداد طبیعی قرار گرفته‌اند. هدف این است که به جای دو علامت \(?\) در این عبارت، عملگرهای \(\times\) یا \(+\) را قرار دهیم و سپس با پرانتزگذاری مناسب، بیشترین مقدار ممکن از عبارت را به دست آوریم.

مقادیر \(a\)، \(b\) و \(c\) به شما داده می‌شود و باید برنامه‌ای بنویسید که بیشترین مقدار ممکن برای این عبارت را محاسبه کند. برای درک بهتر خواسته‌ی مسئله، توضیحات نمونه را مشاهده کنید.

ورودی

در تنها سطر ورودی، یک رشته به صورت \(a?b?c\) است که در آن به جای \(a\)، \(b\) و \(c\) اعداد طبیعی قرار دارند.

خروجی

در تنها سطر خروجی، یک عدد صحیح برابر بیشترین مقدار ممکن برای عبارت داده شده را چاپ کنید.

مثال‌ها

ورودی نمونه ۱

5?3?2

خروجی نمونه ۱

30

برای عبارت \(5?3?2\) اگر همه‌ی \(?\) را به \(\times\) تغییر دهیم، حاصل عبارت \(5 \times 3 \times 2 = 30\) می‌شود که این بیشترین مقدار ممکن است.

ورودی نمونه ۲

14?100?1

خروجی نمونه ۲

1414

برای عبارت \(5?3?2\) اگر \(?\) اول را به \(\times\) و \(?\) دوم را به \(+\) تغییر دهیم، و عبارت \(14 \times (100 + 1)\) را به این صورت پرانتزگذاری کنیم، حاصل \(1414\) می‌شود که این بیشترین مقدار ممکن است.

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.