حل تمرین تعمیر دیوار کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین تعمیر دیوار کوئرا با پایتون
در حین تغییر دکوراسیون، همیشه حالتهای جدیدی پیش میآید!
“رادزینکا دوبرامیل ویچشسلافوویچ”
برای مثال، وقتی کوئرا تصمیم گرفت که دیوار رنگ و رو رفتهی شرکت را دوباره رنگ کند، قبل از اینکه نقاش کارش را شروع کند، بچهها به این نتیجه رسیدند که میتوانند قبل از اینکه نقاش دیوار را دوباره سفید کند روی آن نقاشی کنند! از این رو مهدی در حالی که این شعر را میخواند روی دیوار یک مربع کشید: یه خونه میکشم…
بعد از کشیدن مربع، پارسا تصمیم گرفت که یک لیوان را به سمت مربع پرت کند؛ او فکر میکرد که توی تغییر دکوراسیون شرکت قرار است شرکت را با وسایلش خراب کنند و طرحی نو دراندازند!! برای همین به نظرش آمد که در این وضعیت خراب کردن هر چیزی به شرکت کمک میکند.(او حتی این کار را جزو ساعت کاریاش هم حساب میکرد!) علیرقم هشدارهای صاحب لیوان، پارسا این کار را کرد و دقیقاً قبل از اینکه لیوان به دیوار برسد و بترکد، نقاش رنگ سفید را روی دیوار ریخت تا شروع به رنگ زدن کند که این کار باعث پاک شدن مربع مهدی شد. حالا مهدی جای مربع و پارسا نقطهی ترکیدن لیوان را میداند ولی نمیدانند که لیوان داخل یا روی مربع ترکید یا بیرون آن؛ چرا که اگر داخل یا روی مربع بترکد، مهدی وگرنه پارسا باید خردهلیوانها را جمع کند، حال شما با گرفتن اطلاعات از این دو، بازنده را مشخص کنید.
ورودی
در سطر اول ورودی دو عدد صحیح و y میآید که نمایانگر مختصات گوشهی بالا چپ مربع است. در سطر دوم یک عدد صحیح r میآید که نمایانگر طول ضلع مربع است. در سطر سوم دو عدد صحیح dx و d میآید که نمایانگر مختصات جایی است که لیوان ترکیده است.

دقت کنید که مختصات دکارتی است؛ یعنی زمانی لیوان داخل یا روی مربع است که شروط زیر برقرار شود:

خروجی
در یک سطر کسی که باید خردهلیوانها را جمع کند چاپ کنید. اگر این شخص پارسا بود “Parsa” و اگر مهدی بود “Mahdi” چاپ کنید.
مثال
ورودی نمونه 1
0 5 5 0 0
خروجی نمونه 1
Mahdi
ورودی نمونه 2
0 5 5 5 6
خروجی نمونه 2
Parsa
ورودی نمونه 3
0 5 5 -5 3
خروجی نمونه 3
Parsa
ورودی نمونه 4
0 5 5 3 3
خروجی نمونه 4
Mahdi
کد پایتون سوال تمرین تعمیر دیوار
x, y = input().split()
n = int(input())
dx, dy = input().split()
fx = int(x) + n
fy = int(y) - n
if int(x) <= int(dx) <= int(fx) and int(y) >= int(dy) >= int(fy):
print("Mahdi")
else:
print("Parsa")
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.



















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