You are on page 1of 2

RÚT GỌN DÃY SỐ

Cho dãy 𝑛 số nguyên dương 𝐴 = (𝑎0 , 𝑎1 , … , 𝑎𝑛−1 ). Với mỗi chỉ số 𝑖, người ta định nghĩa phép rút gọn 𝑅(𝑖) như
sau:
Nếu 𝑖 < 𝑛 − 1, phép rút gọn 𝑅(𝑖) sẽ thay 𝑎𝑖 bởi 𝑎𝑖 − 𝑎𝑖+1 rồi xóa phần tử 𝑎𝑖+1 .
Nếu 𝑖 = 𝑛 − 1, phép rút gọn 𝑅(𝑖) sẽ thay 𝑎𝑛−1 bởi 𝑎𝑛−1 − 𝑎0 rồi xóa phần tử 𝑎0 .
Sau mỗi lần rút gọn, số phần tử của dãy (𝑛) giảm đi 1 và các phần tử của dãy 𝐴 được đánh số lại từ 0 bắt đầu từ
phần tử mang chỉ số nhỏ nhất.
Sau 𝑛 − 1 lần rút gọn dãy 𝐴, ta sẽ thu được duy nhất một số nguyên…
𝑅(2) 𝑅(3) 𝑅(0) 𝑅(0)
Ví dụ: (12,10,4,3,5) → (12,10,1,5) → (10,1, −7) → (9, −7) → (16)
Yêu cầu: Cho số nguyên 𝑉, hãy tìm thứ tự thực hiện 𝑛 − 1 phép rút gọn đối với dãy đã cho để số cuối cùng thu
được là 𝑉.
Dữ liệu: Vào từ file văn bản REDUCE.INP
Dòng 1 chứa hai số nguyên 𝑛 và 𝑉, (1 ≤ 𝑛 ≤ 200; 1 ≤ 𝑉 ≤ 109 )
Dòng 2 chứa 𝑛 số nguyên 𝑎0 , 𝑎1 , … , 𝑎𝑛−1 , (1 ≤ 𝑎𝑖 ≤ 200, ∀𝑖)
Dữ liệu vào luôn đảm bảo có thể tìm ra phương án theo yêu cầu
Kết quả: Ghi ra file văn bản REDUCE.OUT 𝑛 − 1 số tương ứng với vị trí thực hiện 𝑛 − 1 phép rút gọn theo đúng
thứ tự thi hành.
Các số trên một dòng của Input/Output files được/phải ghi cách nhau ít nhất một dấu cách.
Ví dụ:

Trang 1
TRỐN TÌM
Có 𝑛 bé trường mầm non SuperKids đang chơi trốn tìm trong một khu rừng. Có 𝑛 vị trí trốn, các vị trí trốn và các
bé được đánh số từ 0 tới 𝑛 − 1, ban đầu bé thứ 𝑖 ở vị trí 𝑖 (∀𝑖: 0 ≤ 𝑖 < 𝑛).
Cứ sau mỗi giây, các bé lại chuyển vị trí, các bé đang ở vị trí 𝑖 sẽ chuyển sang trốn ở vị trí 𝑓𝑖 (𝑓0 , 𝑓1 , … , 𝑓𝑛−1 là dãy
số nguyên cho trước, 0 ≤ 𝑓𝑖 < 𝑛).
Sau 𝑚 giây, cô giáo muốn tìm và tập hợp lại các bé, cô cần xác định chính xác mỗi bé đang ở vị trí nào, bạn hãy
giúp cô giáo nhé.
Dữ liệu: Vào từ file văn bản POSITION.INP
Dòng 1 chứa hai số nguyên dương 𝑛 ≤ 105 ; 𝑚 ≤ 109
Dòng 2 chứa 𝑛 số nguyên dương 𝑓0 , 𝑓1 , … , 𝑓𝑛−1 (0 ≤ 𝑓𝑖 < 𝑛; ∀𝑖)
Kết quả: Ghi ra file văn bản POSITION.OUT 𝑛 số nguyên là vị trí của các bé từ 0 tới 𝑛 − 1 theo đúng thứ tự đó tại
thời điểm cô giáo đi tìm (𝑚 giây tính từ lúc bắt đầu)
Các số trên một dòng của input/output được/phải ghi cách nhau bởi dấu cách.
Ví dụ

Trang 2

You might also like