#PH006. Xoắn ốc số (Number Spiral)
Xoắn ốc số (Number Spiral)
Xoắn ốc số
Nguồn CSES Problem Set
Đề bài
Một xoắn ốc số là một lưới vô hạn gồm các số nguyên dương, trong đó ô ở góc trên bên trái chứa số .
Năm lớp đầu tiên của xoắn ốc có dạng:
1 2 9 10 25
4 3 8 11 24
5 6 7 12 23
16 15 14 13 22
17 18 19 20 21
Các hàng được đánh số từ trên xuống dưới và các cột được đánh số từ trái sang phải, bắt đầu từ .
Nhiệm vụ của bạn là xác định số nằm tại hàng và cột của xoắn ốc.
Input
Dòng đầu tiên chứa số nguyên — số lượng truy vấn.
Tiếp theo là dòng, mỗi dòng chứa hai số nguyên và — lần lượt là chỉ số hàng và chỉ số cột cần xác định.
Output
Với mỗi truy vấn, in ra trên một dòng số nằm tại hàng và cột của xoắn ốc.
Subtask
- Subtask 1 — 20%: ; .
- Subtask 2 — 30%: ; .
- Subtask 3 — 50%: ; .
Ví dụ
Input
3
2 3
1 1
4 2
Output
8
1
15
Giải thích
Xét từng truy vấn trong ví dụ:
-
Với và , ta cần tìm ô ở hàng thứ , cột thứ . Quan sát xoắn ốc, hàng thứ bắt đầu bằng các giá trị , vì vậy ô này chứa số .
-
Với và , đây chính là ô ở góc trên bên trái của xoắn ốc. Theo định nghĩa, ô này chứa số .
-
Với và , hàng thứ bắt đầu bằng các giá trị , vì vậy ô ở cột thứ chứa số .
Do đó ba kết quả lần lượt là:
8
1
15