[Buổi 16][Sắp xếp & tìm kiếm][Lab] Bài 1: Sắp xếp tăng và giảm
Sắp xếp tăng và giảm
Bối cảnh
Cùng một dãy cần được trình bày theo thứ tự tăng và giảm.
B16 chỉ yêu cầu rule tăng/giảm có sẵn; chưa cần custom comparator.
Yêu cầu
- Đọc vector.
- Sort tăng dần và in.
- Từ dữ liệu đã sort, in thứ tự giảm dần.
Input
Dòng 1 n; dòng 2 n số.
Output
Hai dòng: ASC ... và DESC ....
Ràng buộc
1≤n≤5000.
Ví dụ 1
Input
5
5 1 5 2 1
Output
ASC 1 1 2 5 5
DESC 5 5 2 1 1
Giải thích
Dãy đầu vào 5 1 5 2 1 sau std::sort tăng dần trở thành 1 1 2 5 5; các phần tử trùng vẫn được giữ. Để có thứ tự giảm, chương trình duyệt vector đã sort từ cuối về đầu, tạo 5 5 2 1 1. Vì vậy hai dòng output phản ánh cùng một tập dữ liệu ở hai thứ tự.
Ví dụ 2
Input
1
7
Output
ASC 7
DESC 7
Giải thích
Dãy chỉ có một phần tử 7, nên sắp xếp không làm thay đổi trạng thái. Duyệt xuôi hay ngược đều nhận 7. Do đó cả ASC và DESC đều chỉ chứa giá trị 7.
Thông tin học tập
- Module: M05
- Buổi: B16
- Loại bài: LAB
- Độ khó: Easy
- Concepts: std::sort, ascending, descending, reverse
- Giới hạn kiến thức: B01-B16
- Time limit: 1 second(s)
- Memory limit: 256 MB
- Point: 100
Comments