Số lần đổi chỗ. Cho dãy số 4 gồm n số nguyên phân biệt: Ao, A,, A,,..., A n-1'

Số lần đổi chỗ.

Cho dãy số 4 gồm n số nguyên phân biệt: Ao, A,, A,,..., A n-1'

Em có thể dùng thao tác sau: Chọn hai vị trí kề nhau i và i + 1 bất kì (0 <i<n − 1), nếu A, > A + , thì đổi giá trị của A với A, . .

i+1

cho nhau.

Em hãy thao tác trên mảng A, sao cho sau khi thực hiện tuần tự các thao tác, mảng 4 được sắp xếp tăng dần,

Yêu cầu: Hãy in ra số lần đổi giá trị và vị trí i và j của lần đổi chỗ đó. Dữ liệu: Nhập từ thiết bị vào chuẩn:

- Dòng đầu tiên chứa một số nguyên dương n.

Dòng thứ hai chứa n số nguyên theo thứ tự án, A0, A1, A2,...,An-1"

Kết quả: Hiển thị ở thiết bị ra chuẩn:

Dòng đầu tiên chứa số nguyên dương K là số thao tác bạn làm.

- Á dòng sau, dòng thứ i in ra hai số a," (0Śu<"< n) cho biết bạn sẽ đội giá trị của hai vị trí u, v cho nhau.

Số lần đổi chỗ. Cho dãy số 4 gồm n số nguyên phân biệt: Ao, A,, A,,..., A n-1' (ảnh 1)

Trả lời

Chương trình mẫu:

Số lần đổi chỗ. Cho dãy số 4 gồm n số nguyên phân biệt: Ao, A,, A,,..., A n-1' (ảnh 2)

Ghi chú: Các thao tác được lưu vào một danh sách. Mỗi phần tử của danh sách là một tuple (khai báo bởi ( ) ). Tuple khá giống danh sách, nhưng các phần tử của nó không thể thay đổi giá trị.

Câu hỏi cùng chủ đề

Xem tất cả