[10054] Bảng xếp hạng điểm số thí sinh

Xem dạng PDF

Gửi bài giải

Điểm: 10,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: RANKING.INP
Output: RANKING.OUT

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

🤔 Mô tả bài toán:

Hệ thống Sen Code Online Judge! cần thống kê danh sách xếp hạng thí sinh của một kỳ thi. Mỗi thí sinh gồm các thông tin: Mã thí sinh (chuỗi không chứa dấu cách), Họ tên (chuỗi chứa dấu cách), Số bài giải đúng (số nguyên).

Yêu cầu: Đọc dữ liệu từ tệp RANKING.INP. Hãy sắp xếp danh sách thí sinh giảm dần theo số bài giải đúng. Nếu hai thí sinh có cùng số bài giải đúng bằng nhau, hãy ưu tiên xếp thí sinh có Mã số nhỏ hơn theo thứ tự từ điển đứng trước. Ghi kết quả ra tệp RANKING.OUT.

💾 Dữ liệu vào:

Cho từ tệp văn bản RANKING.INP có dạng:

* Dòng 1 chứa số nguyên dương N (1 <= N <= 104).
3 * N dòng tiếp theo, mỗi nhóm 3 dòng chứa thông tin của một thí sinh: Mã số, Họ tên, Số bài đúng.

💻 Dữ liệu ra:

Ghi ra tệp văn bản RANKING.OUT gồm một dòng duy nhất: Danh sách thí sinh sau khi sắp xếp, mỗi thí sinh gồm Mã số, Họ tên, Số bài đúng cách nhau bởi dấu gạch đứng |.

🔍 Ví dụ:

RANKING.INP RANKING.OUT
3 user02 Tran Van B 5 user01 Nguyen Van A 5 user03 Le Thi C 3 user01 | Nguyen Van A | 5 user02 | Tran Van B | 5 user03 | Le Thi C | 3

📌 Ràng buộc dữ liệu:

+ Không có ràng buộc đặc biệt nào.

⚠️ Lưu ý về File I/O:

Bài tập yêu cầu đọc dữ liệu từ tệp tin RANKING.INP và xuất kết quả ra tệp tin RANKING.OUT.

Lưu ý: Vui lòng dùng freopen bình thường để đọc ghi (như code mẫu khi chấm Themis).
Mẹo: Bạn hoàn toàn có thể dùng lệnh ios_base::sync_with_stdio(false); cin.tie(NULL); đi kèm với freopen để tăng tốc độ đọc ghi dữ liệu lớn!


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.