HÌNH XOẮN ỐC BẰNG CÁCH VIẾT LIÊN TIẾP CÁC SỐ TỰ NHIÊN TỪ 1 TỚI...

Bài 2. Hình xoắn ốc

Bằng cách viết liên tiếp các số tự nhiên từ 1 tới N ta nhận được một dãy các

số. Ví dụ với N =18 ta có dãy các chữ số: 123456789101112131415161718.

Sau đó điền dãy chữ số này vào các điểm nguyên của mặt phẳng toạ độ theo

chiều xoắn ốc bắt đầu từ điểm (0,0) như sơ đồ sau:

y 1 1 5 4 3 1 4 6 1 2 0 1 7 8 9 1 x 5 1 6 1 7

Như vậy với một số N cho trước một số điểm nguyên của mặt phẳng toạ độ

cho chứa một chữ số.

Yêu cầu: Cho hai số nguyên x và y, hãy:

a. Tìm số tự nhiên N lớn nhất sao cho điểm (x,y) chưa có chữ số.

b. Giả sử điểm (x,y) đã có chữ số. Hãy tìm chữ số K được điền tại điểm

(x,y).

Dữ liệu: Vào từ file văn bản SPIRAL.INP gồm một dòng chứa 3 số nguyên q,

x và y, trong đó q = 1 nếu là yêu cầu a) và q = 2 nếu là yêu cầu b), còn x và y

có giá trị tuyệt đối không vượt quá 20000.

Kết quả: Ghi ra file văn bản SPIRAL.OUT:

Nếu q = 1 hãy ghi ra số N (kết quả câu a), còn nếu q = 2 hãy ghi ra chữ số

K (kết quả câu b).

Ví dụ:

SPIRAL.INP SPIRAL.OUT

1 -2 2 1 2

2 -2 2 3