Nội dung Bài tập
- Mã:
-
MINIGAME9:
CHANGE_ARR
- Tên:
- Biến đổi dãy số
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 1 giây
- Giới hạn bộ nhớ:
- 64 MB
- Được tạo bởi:
- phucnq
Tèo đang học Lập Trình Cơ Bản về mảng. Thầy giáo có bài tập như sau:
Quảng cáo
Cho trước một dãy các số nguyên không âm: a1, a2, a3, ..., an. Dãy số ban đầu sẽ được biến đổi nhiều lần với quy luật như sau:
- Phần tử thứ k của dãy mới: ak = | ak - ak+1 |
- Phần tử cuối cùng: an = | an - a1 |
Ví dụ: Với dãy số gồm 4 phần tử (n = 4) như sau: 0 2 5 11 ta có các lần biến đổi là:
- 2 3 6 11
- 1 3 5 9
- 2 2 4 8
- 0 2 4 6
- 2 2 2 6
- 0 0 4 4
- 0 4 0 4
- 4 4 4 4
Như vậy, sau 8 lần biến đổi, ta được dãy gồm 4 phần tử bằng nhau.
Yêu cầu: Cho trước một dãy số, hãy xác định xem phải biến đổi bao nhiêu lần để được dãy gồm tất cả các phần tử bằng nhau.
Input:
- Dòng 1: số nguyên dương n - số phần tử của dãy (2 <= n <= 20)
- Dòng 2: n số nguyên, mỗi số cách nhau một khoảng trắng
Output:
- Số nguyên duy nhất là số lần cần phải biến đổi để được dãy thỏa yêu cầu. Nếu sau 1000 bước biến đổi mà không được thì xuất "Impossible" (không xuất dấu ngoặc kép)
Ví dụ:
Input
4
0 2 5 11
Output
8
Input
4
0 4 0 4
Output
1
Theme :
Mời bạn soạn code
Ai có thể xem bài này :
Thông tin
Phần thảo luận