قورباغه‌ در چاه


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

یک قورباغه در چاهی به عمق hh متر گیر کرده است. او روزها تلاش می‌کند و aa متر از دیوار بالا می‌رود و شب‌ها که می‌خوابد bb متر به سمت پایین سر می‌خورد.

توضیح تصویر

اولین لحظه‌ای که ارتفاع او از hh بیشتر یا مساوی شود، از چاه خارج می‌شود. از شما می‌خواهیم بررسی کنید حداقل چند روز طول می‌کشد تا قورباغه از چاه خارج شود.

برای بهتر متوجه شدن خواسته‌ی سوال به قسمت مثال‌ها مراجعه کنید.

ورودی🔗

در سطر اول ورودی، عدد صحیح و مثبت tt آمده که تعداد تست‌ها را نشان می‌دهد. 1t1001 \leq t \leq 100

در tt سطر بعدی در هر سطر سه عدد aa، bb و hh آمده است. 0b<ah1000 \leq b \lt a \leq h \leq 100

خروجی🔗

در tt سطر به ترتیب شماره‌ی روزی که قورباغه از چاه خارج شده را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

3
3 1 30 
3 1 31 
10 5 10 
Plain text

خروجی نمونه ۱🔗

15
15
1
Plain text

در تست اول و دوم حرکت قورباغه به صورت زیر است:

  • روز ۱ تا ارتفاع 3+0=33 + 0 = 3 بالا می‌رود.
  • شب ۱ به ارتفاع 31=23 - 1 = 2 سر می‌خورد.
  • روز ۲ تا ارتفاع 2+3=52 + 3 = 5 بالا می‌رود.
  • شب ۲ به ارتفاع 51=45 - 1 = 4 سر می‌خورد.
  • روز ۳ تا ارتفاع 4+3=74 + 3 = 7 بالا می‌رود.
  • شب ۳ به ارتفاع 71=67 - 1 = 6 سر می‌خورد.
  • ...
  • روز ۱۴ تا ارتفاع 26+3=2926 + 3 = 29 بالا می‌رود.
  • شب ۱۴ به ارتفاع 291=2829 - 1 = 28 سر می‌خورد.
  • روز ۱۵ تا ارتفاع 28+3=3128 + 3 = 31 بالا می‌رود و نجات پیدا می‌کند.

در تست سوم در روز اول قورباغه تا ارتفاع 10+0=1010 + 0 = 10 بالا می‌رود و از چاه خارج می‌شود.

اشتباهات متداول
چک کردن شرایط ورودی مسئله

نیازی نیست چک کنید شرایط گفته شده در ورودی برقرار است یا نه. توضیحات محدودیت‌ها فقط برای آگاهی شما درباره‌ی تست‌ها و محدودیت‌های مسئله است و قطعاً در ورودی‌های داده شده به برنامه‌ی شما رعایت می‌شوند. پس نیازی نیست بنویسید:

if 1 <= n <= 100:
    # answer of problem
else:
    # print('invalid input')
Python
ابتدا همه‌ی ورودی را گرفتن و در نهایت همه‌ی خروجی را چاپ کردن

شما می‌توانید لابه‌لای دریافت ورودی، خروجی دهید. پس نیازی نیست ابتدا همه‌ی ورودی‌ها را دریافت کنید و در نهایت همه‌ی خروجی‌ها را چاپ کنید. مخصوصاً برای سوالاتی که باید به چندین سوال پاسخ دهید، می‌توانید دو قسمت ورودی و خروجی را کاملاً مستقل در نظر بگیرید و مطمئن باشید تداخلی پیش نمی‌آید.

چاپ کردن موارد اضافه برای دریافت ورودی

لطفاً از چاپ کردن موارد اضافه مثل please enter a number برای دریافت ورودی پرهیز کنید. برای مثال در زبان پایتون نباید بنویسید:

input('please enter:')
Python
چند فایلی کد زدن

برای زبان‌هایی مثل جاوا نباید در بالای کد شما آدرس پکیج داده شود. برای مثال در بالای کد خود نباید بنویسید:

package ir.quera.contest;
Java
استفاده از چند Scanner برای دریافت ورودی

در زبان جاوا، باید فقط یک شئ از جنس Scanner تعریف کنید و همه‌ی ورودی‌ها را با آن دریافت کنید.

نحوه‌ی دریافت ورودی و چاپ کردن خروجی

برای آشنایی بیشتر برای نحوه‌ی دریافت ورودی و چاپ کردن خروجی این لینک را مطالعه کنید.