[Buổi 22][Củng cố bộ nhớ & chuỗi][WS] Bài 1: Student Data Cleaner
Student Data Cleaner
Bối cảnh
Mỗi record sinh viên có format name|id. Số record chỉ biết runtime và bản core phải dùng mảng động string.
Bạn cần đọc đúng n dòng, chuẩn hóa, validate và báo cáo số record hợp lệ.
Yêu cầu
- Đọc n rồi cấp phát
string* records = new string[n]. - Xử lý newline và getline n record.
- Với mỗi record, tìm
|; normalize name và id. - Record hợp lệ khi có delimiter, name/id sau normalize không rỗng và id không chứa whitespace.
- Với record hợp lệ, name chuyển Title Case, id uppercase; in
name|ID. - Sau các record, in
VALID x INVALID y. - delete[] records và đặt nullptr.
Yêu cầu tổ chức code
Bản core bắt buộc dùng new string[n] và delete[].
Online Judge chủ yếu 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 của buổi.
Input
Dòng 1 n; tiếp theo n dòng raw record.
Output
Các record hợp lệ theo thứ tự, rồi dòng thống kê cuối.
Ràng buộc
0 ≤ n ≤ 1000, tổng độ dài ≤100000, ASCII.
Ví dụ 1
Input
4
nGUYEN van an | k62-01
Le Thi B|TNUT02
badrecord
| X
Output
Nguyen Van An|K62-01
Le Thi B|TNUT02
VALID 2 INVALID 2
Giải thích
Ba? Với dữ liệu này hai record đầu hợp lệ, badrecord và | X không hợp lệ; báo cáo VALID 2 INVALID 2.
Ví dụ 2
Input
0
Output
VALID 0 INVALID 0
Giải thích
Không có record nên chỉ in VALID 0 INVALID 0.
Thông tin học tập
- Module: M06
- Buổi: B22
- Loại bài: WORKSHOP
- Độ khó: Medium
- Concepts: dynamic string arrays, getline, normalization, validation, lifetime, vector refactor concept
- Giới hạn kiến thức: B01-B22
- Time limit: 2 second(s)
- Memory limit: 256 MB
- Point: 100
Comments