Phân bố phòng thi Một trường học có n lớp, mỗi lớp có x bạn học sinh. Giả sử tên khai sinh của các bạn chỉ gồm hai tiếng: họ (một tiếng) và tên (một tiếng).
Khai báo thư viện locale, sau đó khai báo sử dụng ngôn ngữ tiếng Việt bằng câu lệnh: locale.setlocale(locale.LC_ALL, "vi_VN"). Để so sánh hai xâu, sử dụng hàm locale.strcoll(s1, s2) . Hàm sẽ trả về một số âm nếu xâu s1 đứng trước xâu s2, số 0 khi hai xâu bằng nhau và số dương nếu xâu s2 đứng trước xâu s1.
Đầu tiên, em nhập toàn bộ danh sách học sinh các lớp và gom hết vào một mảng. Sau đó, em tiến hành sắp xếp nổi bọt nhưng việc so sánh sẽ phức tạp hơn: so sánh phần tên trước, nếu phần tên bằng nhau sẽ so sánh phần họ. Tiếp theo, em lần lượt đưa học sinh vào các phòng thi. Em tạo hai danh sách, một mảng allRoom dùng để chứa toàn bộ danh sách thí sinh từng phòng thi và một danh sách currentRoom dùng để lưu thông tin thí sinh của phòng thi hiện tại đang xếp. Khi phòng currentRoom xếp đủ m người, em đẩy toàn bộ phòng thi đã xếp xong này vào trong allRoom, sau đó xoá currentRoom để bắt đầu xếp phòng khác.
Cuối cùng, em in ra như đề bài.

