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:
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 |
Dãy số sẽ được biến đổi cho đến khi tất cả các phần tử trong dãy bằng nhau.
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à:
  1. 2 3 6 11
  2. 1 3 5 9
  3. 2 2 4 8
  4. 0 2 4 6
  5. 2 2 2 6
  6. 0 0 4 4
  7. 0 4 0 4
  8. 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

    Quảng cáo
       Ngôn ngữ : 

       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