โจทย์ทั้งหมด
ปานกลาง 0 ข้อที่แก้แล้ว อัตราผ่าน 0%

ค้นหาค่าใน Number Spiral

ค้นหาค่าตามแถวและคอลัมน์ในสไปรัลตัวเลขที่ขยายออกไปเรื่อย ๆ

สไปรัลที่ไม่มีที่สิ้นสุดนี้เริ่มต้นที่เซลล์มุมซ้ายบน ตัวอย่างสี่แถวและสี่คอลัมน์แรกแสดงดังด้านล่าง ให้ดำเนินรูปแบบเดิมต่อไปเป็นชั้นสี่เหลี่ยมจัตุรัสที่ขยายออกไป พิกัดเริ่มต้นที่ 1

 1   2   9  10
 4   3   8  11
 5   6   7  12
16  15  14  13

ให้คืนค่าของเซลล์เดียวโดยไม่ต้องสร้างกริดทั้งหมด

ให้เขียนฟังก์ชัน number_spiral(row, column)

อินพุต

row: หมายเลขแถว นับจากด้านบน เริ่มที่ 1

column: หมายเลขคอลัมน์ นับจากด้านซ้าย เริ่มที่ 1

เอาต์พุต

คืนค่าตัวเลขที่ตำแหน่งนั้น

เงื่อนไข

1 ≤ row, column ≤ 1,000,000,000. ค่าที่ได้จะอยู่ในช่วงของจำนวนเต็ม signed 64-bit

ตัวอย่าง

ตัวอย่างที่ 1
อินพุต:
row = 3
column = 2

ผลลัพธ์ที่คาดหวัง:
expected = 6
อินพุต:
long long row = 3;
long long column = 2;

ผลลัพธ์ที่คาดหวัง:
long long expected = 6;
อินพุต:
long row = 3;
long column = 2;

ผลลัพธ์ที่คาดหวัง:
long expected = 6;

คำอธิบาย

ในแถวที่สามที่แสดง ค่าในตำแหน่งที่สองคือ 6

ตัวอย่างที่ 2
อินพุต:
row = 1
column = 4

ผลลัพธ์ที่คาดหวัง:
expected = 10
อินพุต:
long long row = 1;
long long column = 4;

ผลลัพธ์ที่คาดหวัง:
long long expected = 10;
อินพุต:
long row = 1;
long column = 4;

ผลลัพธ์ที่คาดหวัง:
long expected = 10;

คำอธิบาย

ชั้นสี่เหลี่ยมจัตุรัสชั้นที่สี่เริ่มต้นที่ 10 ในแถวบนสุด

แหล่งอ้างอิง

โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน

เรียนรู้จากคนอื่น

แนวทางจากชุมชน

ยังไม่มีวิธีทำที่เผยแพร่ ลองแก้โจทย์นี้เพื่อแชร์วิธีแรก