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 7Như 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
Bạn đang xem bài 2. - Đề thi olympic tin học sinh viên lần thứ 12