Cho số nguyên dương ~ n ~ và dãy số nguyên ~ a_1, a_2, …., a_n ~. Ở mỗi bước di chuyển, bạn có thể nhảy từ vị trị ~ i ~ đến vị trí ~ i-a_i ~ nếu ~ i-a_i ≥ 1 ~ hoặc vị trí ~ i+a_i ~ nếu ~ i+a_i ≤ n ~.
Yêu cầu: với mỗi vị trí ~ i ~ ~ (i = 1…n ) ~ trong dãy số hãy cho biết cần ít nhất bao nhiêu bước để di chuyển từ vị trí ~ i ~ đến vị trí ~ j ~ sao cho hai số ~ a_i ~ và ~ a_j ~ chẵn lẽ đối lập nhau (nghĩa là nếu ~ a_i ~ chẵn thì ~ a_j ~ lẻ và ngược lại)
Dữ liệu vào
Kết quả
In ~ n ~ số nguyên ~ d_1, d_2, …, d_n ~ trong đó ~ d_i ~ là số bước ít nhất để di chuyển từ vị trí thứ ~ i ~ theo yêu cầu bài toán. Nếu tại vị trí thứ ~ i ~ không có cách di chuyển thì ~ d_i = -1 ~.
Ví dụ:
Input 1
6
1 4 3 1 4 2
Output 1
1 2 1 1 1 1
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
Trong 30 ngày |
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 37713 |