trang chủ / bài tập / schedule

Lịch học phòng 31

Đề bài

Mô tả

n nhóm sinh viên cùng đăng ký học tại phòng 31. Mỗi nhóm i có thời điểm bắt đầu li và thời điểm kết thúc ri 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 n — số nhóm có buổi học tại phòng 31.
  • n dòng tiếp theo, mỗi dòng chứa hai số nguyên liri — thời điểm bắt đầu và kết thúc buổi học của nhóm thứ i.

Dữ liệu ra

  • Dòng đầu in ra số nguyên k — 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 k chỉ số nhóm có thể huỷ (đánh số từ 1 theo thứ tự nhập), theo thứ tự tăng dần. Nếu k=0 thì có thể bỏ trống dòng này.

Ràng buộc

  • 1n5000
  • 1li<ri106
  • 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 {1,2,3} đều thoả mãn.
4
3 10
20 30
1 3
1 39
1
4
Nhóm 4 có khoảng [1,39) chồng lấn với cả ba nhóm còn lại. Chỉ khi huỷ nhóm 4 thì các nhóm còn lại [3,10),[20,30),[1,3) 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

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0