[Buổi 16][Sắp xếp & tìm kiếm][RDD] Bài 19: Sắp xếp chọn (selection sort)


LÀM BÀI

Points: 20
Time limit: 2.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
C++

Sắp xếp chọn (selection sort)

Bối cảnh

Bài toán được mô tả qua yêu cầu và dữ liệu dưới đây.

Yêu cầu

Cho một dãy số \(a\) có \(N\) phần từ \(a_1, a_2, a_3,...a_n\). Hãy in ra các bước của thuật toán sắp xếp chọn.

Input

Dòng đầu tiên là số nguyên dương \(N\) \(1 \leq N \leq 10^3\).

Dòng thứ hai chứa \(N\) số nguyên, mỗi số các nhau một dấu cách \((|a_i| < 10^{18})\)

Output

In ra các bước của thuật toán sắp xếp chọn.

Ràng buộc

Đề gốc không nêu ràng buộc riêng.

Ví dụ 1

Input

5
5 4 3 2 1

Output

Buoc 1: 1 4 3 2 5
Buoc 2: 1 2 3 4 5
Buoc 3: 1 2 3 4 5
Buoc 4: 1 2 3 4 5

Giải thích ví dụ

Ví dụ 1

Ví dụ 2

Input

- **Buoc 1**: Chọn số nhỏ nhất từ `5 4 3 2 1` là `1`, đổi chỗ với số đầu tiên → `1 4 3 2 5`
- **Buoc 2**: Chọn số nhỏ nhất từ `4 3 2 5` là `2`, đổi chỗ với số đầu tiên của đoạn còn lại → `1 2 3 4 5`
- **Buoc 3**: Dãy đã được sắp xếp, không thay đổi → `1 2 3 4 5`
- **Buoc 4**: Dãy đã được sắp xếp, không thay đổi → `1 2 3 4 5`

Thông tin học tập

  • Buổi: B16
  • Concepts: sorting, basic searching
  • Giới hạn kiến thức: B01-B16
  • Time limit: 2 seconds
  • Memory limit: 20 MB
  • Point: 20

Comments

There are no comments at the moment.

Zalo