من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

حل تمرین پلاک قدیمی کوئرا با پایتون

حل تمرین پلاک قدیمی کوئرا با پایتون
حل تمرین پلاک قدیمی کوئرا با پایتون

حل تمرین پلاک قدیمی کوئرا با پایتون

در این نوشته به روش حل یکی از سوالات برنامه نویسی وب‌سایت کوئرا می‌پردازیم.

 

حل تمرین پلاک قدیمی کوئرا با پایتون

در یک شهر نامتناهی خانه وجود دارد. نقشه‌ی این شهر به صورت خط‌های موازی با محورهای x و y صحیح در صفحه است. (مانند شکل) خانه‌های این شهر روی تقاطع‌ها قرار دارند. شهرداری با الگویی که در تصویر زیر می‌بینید از مبدا مختصات شروع کرده و خانه‌ها را پلاک گذاری کرده است.

توضیحات تمرین پلاک قدیمی

به شما مختصات یک خانه داده می‌شود و از شما می‌خواهیم پلاک آن خانه را پیدا کنید.

 

ورودی

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

ورودی اول در تمرین پلاک قدیمی

در تنها سطر هر تست، دو عدد صحیح x و  که به یک فاصله از هم جدا شده‌اند، داده می‌شود که مختصات یک خانه را نشان می‌دهد.

ورودی دوم در تمرین پلاک قدیمی

 

خروجی

برای هر تست، در تنها یک سطر، شماره‌ی پلاک آن خانه را چاپ کنید.

 

مثال

ورودی نمونه 1

5
0 0
0 6
-3 4
3 -2
-2 1

 

خروجی نمونه 1

1
62
111
49
24

 

کد پایتون سوال تمرین پلاک قدیمی

def P(loop_number):
    if loop_number==0:
        return 0
    elif loop_number==1:
        return 1
    else:
        return 1+2*loop_number*(loop_number-1)

def calculate(x,y):
    if x==0 and y==0:
        return 1
    
    ln=abs(x)+abs(y)
    if x>=0 and y>0:
        return P(ln)+x+1
    elif x>0 and y<=0:
        return P(ln)+ln+abs(y)+1
    elif x<=0 and y <0:
        return P(ln)+2*ln+abs(x)+1
    elif x<0 and y>=0:
        return P(ln)+3*ln+abs(y)+1

output=[]
t = int(input())
for i in range(t):
    x,y = map(int,input().split())
    output.append(calculate(x,y))

for i in output:
    print(i)

 

منبع سوال: کوئرا

اگر نیاز به حل تمرین‌های دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]