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

Bố trí Phòng Khách sạn

Đề bài

Mô tả

Một khách sạn cần bố trí phòng cho n khách. Hai khách có thể ở chung một phòng nếu ngày rời đi của khách thứ nhất thực sự sớm hơn ngày đến của khách thứ hai. Hãy tìm số phòng tối thiểu cần dùng và gán mỗi khách vào một phòng.

Dữ liệu vào

  • Dòng đầu: số nguyên n — số lượng khách.
  • n dòng tiếp theo, dòng thứ i: hai số nguyên aibi — ngày đến và ngày rời đi của khách i (1aibi109).

Dữ liệu ra

  • Dòng 1: số nguyên k — số phòng tối thiểu cần dùng.
  • Dòng 2: n số nguyên (từ 1 đến k) — phòng được gán cho mỗi khách theo thứ tự đầu vào.

Ràng buộc

  • 1n2·105
  • 1aibi109

Ví dụ

Input Output Giải thích
3
1 2
2 4
4 4
2
1 2 1
Khách 1 rời ngày 2, khách 3 đến ngày 4. Vì 2 < 4, họ có thể ở chung phòng 1. Khách 2 cần phòng riêng.
4
1 3
2 5
4 6
3 4
2
1 1 2 2
Khách 1 rời ngày 3, khách 4 đến ngày 3. Vì 3 không < 3, họ không thể ở chung.

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