[Buổi 23][Struct][Lab] Bài 2: Sort & Filter Records


LÀM BÀI

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

Author:
Problem types
Allowed languages
C++

Sort & Filter Records

Bối cảnh

Một danh sách sinh viên cần được xếp theo GPA giảm dần; nếu bằng GPA thì mã tăng dần.

Sau khi sort, chỉ in sinh viên có GPA đạt ngưỡng k.

Yêu cầu

  1. Đọc n, k và n Student.
  2. Lưu bằng vector<Student>.
  3. Sort GPA giảm; tie id tăng.
  4. In các record có gpa >= k; nếu không có, in NONE.

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

Phải dùng struct Studentvector<Student>.

Online Judge chấm output. Giảng viên có thể review thêm cấu trúc code để xác nhận học viên luyện đúng kỹ năng OOP của buổi.

Input

Dòng 1: n k. n dòng tiếp: id name gpa.

Output

Mỗi record đạt chuẩn trên một dòng: id name gpa(2 decimals) hoặc NONE.

Ràng buộc

1 ≤ n ≤ 2000, 0 ≤ gpa,k ≤ 4.

Ví dụ 1

Input

4 3
S2 B 3.5
S1 A 3.5
S3 C 2.9
S4 D 4

Output

S4 D 4.00
S1 A 3.50
S2 B 3.50

Giải thích

Bốn Student được sort theo GPA giảm. S4 có 4.0 nên đứng đầu. S1 và S2 cùng 3.5, comparator dùng id tăng nên S1 đứng trước S2. S3 chỉ 2.9, dưới ngưỡng k=3 nên bị lọc. Vì vậy output lần lượt là S4, S1, S2 với GPA hai chữ số.

Ví dụ 2

Input

2 4
A An 3.9
B Binh 3.8

Output

NONE

Giải thích

Ngưỡng k=4 nhưng hai GPA là 3.9 và 3.8. Sau sort thứ tự có thể xác định, nhưng bước filter không giữ record nào. Khi danh sách kết quả rỗng, đề yêu cầu in NONE, nên output chỉ có đúng từ này.

Thông tin học tập

  • Module: M07
  • Buổi: B23
  • Loại bài: LAB
  • Độ khó: Medium
  • Concepts: struct, vector, sort, comparator, tie-break, filtering
  • Giới hạn kiến thức: B01-B23
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo