Lịch học phòng 31
Đề bài
Mô tả
Có nhóm sinh viên cùng đăng ký học tại phòng 31. Mỗi nhóm có thời điểm bắt đầu và thời điểm kết thúc của buổi học. Hai nhóm có khoảng thời gian học chồng lấn nhau nếu chúng có ít nhất một khoảng thời gian dương cùng diễn ra. Nếu một nhóm kết thúc đúng vào lúc một nhóm khác bắt đầu thì hai buổi học không được coi là chồng lấn.
Vì lịch học bị xung đột nên không thể tổ chức đủ tất cả các nhóm. Trưởng khoa quyết định huỷ buổi học của đúng một nhóm sao cho tất cả các nhóm còn lại không có hai khoảng thời gian nào chồng lấn nhau.
Hãy tìm tất cả các nhóm có thể bị huỷ để đạt được điều kiện trên.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số nhóm có buổi học tại phòng 31.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và — thời điểm bắt đầu và kết thúc buổi học của nhóm thứ .
Dữ liệu ra
- Dòng đầu in ra số nguyên — số cách chọn nhóm để huỷ buổi học sao cho không còn xung đột.
- Dòng thứ hai in ra chỉ số nhóm có thể huỷ (đánh số từ theo thứ tự nhập), theo thứ tự tăng dần. Nếu thì có thể bỏ trống dòng này.
Ràng buộc
- Lưu ý: ban đầu có thể đã không có hai buổi học nào chồng lấn nhau, khi đó mọi nhóm đều là đáp án hợp lệ.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 10 20 30 1 3 |
3 1 2 3 |
Ban đầu không có xung đột nào, vì vậy huỷ bất kỳ nhóm nào trong đều thoả mãn. |
| 4 3 10 20 30 1 3 1 39 |
1 4 |
Nhóm có khoảng chồng lấn với cả ba nhóm còn lại. Chỉ khi huỷ nhóm thì các nhóm còn lại mới không xung đột. |
| 3 1 5 2 6 3 7 |
0 | Mọi cặp trong ba nhóm đều chồng lấn nhau, nên huỷ một nhóm vẫn còn xung đột. |
Bình luận