[Buổi 17][Comparator & prefix sum][Lab] Bài 1: Sắp xếp cặp nhiều tiêu chí


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Sắp xếp cặp nhiều tiêu chí

Bối cảnh

Mỗi bản ghi là {score,id}. Xếp score giảm dần; nếu bằng score, ID tăng dần.

Comparator phải strict và mã hóa đủ tie-break.

Yêu cầu

  1. Đọc n cặp score id.
  2. Sort bằng comparator.
  3. In id score theo ranking.

Yêu cầu tổ chức code

Không dùng struct; dùng pair đúng scope B17.

Online Judge chấm output. Với bài nhạy về cấu trúc lời giải, giảng viên có thể review source code để xác nhận học viên luyện đúng năng lực.

Input

Dòng 1 n; n dòng score id.

Output

n dòng id score.

Ràng buộc

1≤n≤5000.

Ví dụ 1

Input

4
90 3
95 7
95 2
80 1

Output

2 95
7 95
3 90
1 80

Giải thích

Các record được hiểu là (score,id). Score 95 cao hơn 90 và 80 nên hai record 95 đứng đầu. Giữa (95,7)(95,2), score bằng nhau nên tie-break theo ID tăng dần, làm ID 2 đứng trước ID 7. Sau đó mới đến ID 3/90 và ID 1/80. Output in theo dạng id score, đúng thứ tự comparator.

Ví dụ 2

Input

1
10 9

Output

9 10

Giải thích

Chỉ có một record (score=10,id=9). std::sort không cần thực hiện phép đổi chỗ nào và comparator không ảnh hưởng kết quả. Khi in, đề yêu cầu thứ tự field là id score, nên cặp lưu trong vector được xuất thành 9 10. Ví dụ này cũng kiểm tra code không giả định n phải lớn hơn 1.

Thông tin học tập

  • Module: M05
  • Buổi: B17
  • Loại bài: LAB
  • Độ khó: Medium
  • Concepts: pair, custom comparator, tie-break, strict ordering
  • Giới hạn kiến thức: B01-B17
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo