Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 1 · Lập trình

Sắp xếp

Điểm
7 điểm
Tên chương trình
SAPXEP.*
Vào / Ra
SAPXEP.INP → SAPXEP.OUT

Đề bài

Sắp xếp nổi bọt (Bubble Sort) là một trong những thuật toán đơn giản và dễ hiểu. Thuật toán sắp xếp nổi bọt thực hiện sắp xếp dãy phần tử bằng cách liên tục lập lại việc so sánh hai phần tử liền kề và hoán đổi vị trí của chúng nếu chung không theo thứ tự mong muốn. Quá trình này được lặp lại cho đến khi toàn bộ dãy đã được sắp xếp hoàn chỉnh.

Yêu cầu: Cho một dãy gồm nn phần tử hãy viết chương trình đêm số lần hoán đổi vị trí các phần tử theo thuật toán sắp xếp nổi bọt để sắp xếp dãy tăng dần.

Dữ liệu vàoSAPXEP.INP

Đọc từ file SAPXEP.INP gồm:

  • Dòng thứ nhất chứa số nguyên dương (1≤ai≤2.105)(1 \le a_i \le 2.10^5)
  • Dòng thứ hai chứa số nguyên dương cách nhau bằng khoảng trắng a1,…,ai,…,ana_1, \dots, a_i, \dots, a_n (1≤ai≤109)(1 \le a_i \le 10^9)

Kết quả raSAPXEP.OUT

Ghi ra file SAPXEP.OUT một số nguyên duy nhất cho biết số lần hoán đổi vị trí các phần tử theo thuật toán sắp xếp trên.

Ràng buộc

  • 80% số điểm bài thi: 1≤n≤1031 \le n \le 10^3
  • 100% số điểm bài thi: 1≤n≤2.1051 \le n \le 2.10^5

Ví dụ

Dữ liệu vàoSAPXEP.INP
4
3 2 1 4
Kết quả raSAPXEP.OUT
3

Giải thích

Theo thuật toán sắp xếp nổi bọt có 3 lần hoán đổi vị trí các phần tử gồm:

  • Hoán đổi vị trí hai phần tử (3, 2), dãy phần tử 2 3 1 4
  • Hoán đổi vị trí hai phần tử (3, 1), dãy phần tử 2 1 3 4
  • Hoán đổi vị trí hai phần tử (2, 1), dãy phần tử 1 2 3 4

Thuộc đề thi

Kỳ thi chọn học sinh giỏi lớp 9 cấp thành phố năm học 2024 - 2025 — Môn: Tin học

TP. Hồ Chí Minh · Cấp thành phố · Năm học 2024-2025

Đề sưu tầm/chép lại, có thể khác bản gốc. Xem ghi chú