LQDOJ Cup 2025 - Round #6 - Chụp ảnh trẻ trâu

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python
Điểm: 2500 (p) Thời gian: 3.5s Bộ nhớ: 512M Input: photos.inp Output: photos.out

Ngày xửa ngày xưa, ở làng Nhuyễn Hệ, có một cô bé tên là Ngáp, hiệu là Taro. Cô ta nổi tiếng với khuôn mặt thật vi diệu, có thể biến đổi rất kỳ quái và thể hiện rất nhiều dạng cảm xúc. Bởi thế, cô thích selfie và lưu giữ các bức ảnh khuôn mặt mình. Nếu cô chụp 50 bức ảnh thì cũng là 50 sắc thái khác nhau, mỗi bức trông một khác. Đặc biệt nhất là, không bức nào giống với khuôn mặt thật cả. Nhưng biệt tài này cũng tai hại, khi vào một ngày đẹp trời, một thầy giáo cute nào đó vào lớp cô, vô tình rút chiếc Iphone 6plus ra chụp lại vài bức ảnh của cô, thì cô sẽ phải sống trong mối đe doạ bị dìm hàng trên Facebook bất cứ lúc nào.

Lớn lên, Ngáp mở trường mầm non chuyên nuôi nhốt trẻ trâu. Những người được tuyển vào đây phải là sửu nhi giống bà chủ. Vì vậy mà ở đây chụp ảnh là hoạt động luôn được ưa thích.

Để chụp ảnh, các sửu nhi sẽ ngồi vào một chiếc ghế chiều dài \(\ell\). \(n\) sửu nhi, được đánh số từ \(1\) đến \(n\), lần lượt được gọi để ngồi vào ghế. Sửu nhi thứ \(i\) có "độ rộng" cơ thể là \(w_i\), nghĩa là, khi ngồi vào ghế, sửu nhi \(i\) luôn chiếm một khoảng chỗ độ dài \(w_i\). Hai sửu nhi bất kỳ không được ngồi lòng hay gác chân lên nhau, mặc dù chúng có thể ngồi sát nhau một cách tuỳ ý. Khi được gọi đến tên mình, các sửu nhi sẽ nhìn xem trên ghế có khoảng trống nào vừa với "độ rộng" cơ thể mình hay không. Nếu có, chúng chắc chắn sẽ ngồi lên ghế. Vì trẻ trâu, chúng sẽ chọn một chỗ bất kì ngồi được để ngồi, vì vậy đến lượt người tiếp theo có thể không còn chỗ để ngồi nữa.

Những sửu nhi không được chụp ảnh sẽ làm hết sức mình để phá game. Để phòng tránh chúng Ngáp cần bạn viết chương trình xác định xem một sửu nhi có thể ngồi vào ghế hay không.

Dữ liệu

Vào từ file văn bản photos.inp:

  • Dòng đầu tiên chứa số nguyên \(t\) \((1 \leq \tau \leq 12345)\) là số bộ dữ liệu.
  • Tiếp theo là các bộ dữ liệu, mỗi bộ dữ liệu được mô tả trên hai dòng với khuôn dạng sau:
    • Dòng đầu tiên chứa hai số nguyên \(n\) \((1 \leq n \leq 8)\)\(\ell\) \((1 \leq \ell \leq 10^9)\), lần lượt là số sửu nhi chuẩn bị lên ghế và độ dài ghế.
    • Dòng thứ hai chứa \(n\) số nguyên \(w_1, w_2, \ldots, w_n\) \((1 \leq w_c \leq 10^9)\) là độ rộng cơ thể của các sửu nhi.

Dữ liệu đảm bảo có không quá \(234\) bộ dữ liệu có \(n \geq 7\).

Kết quả

Ghi ra file văn bản photos.out:

  • Với mỗi bộ dữ liệu, in ra kết quả trên một dòng với \(n\) từ, trong đó từ thứ \(i\) là:
    • sit nếu sửu nhi thứ \(i\) chắc chắn có chỗ ngồi;
    • stand nếu sửu nhi thứ \(i\) chắc chắn không có chỗ ngồi;
    • unsure nếu sửu nhi thứ \(i\) có thể có mà cũng có thể không có chỗ ngồi, tùy thuộc vào cách chọn vị trí của những người ngồi trước.

Ràng buộc

Bộ test được chia làm bảy subtask như sau:

  • Subtask \(1\) (\(11\) điểm): \(n \leq 2\)
  • Subtask \(2\) (\(13\) điểm): \(n \leq 3\)
  • Subtask \(3\) (\(13\) điểm): \(n \leq 4\)
  • Subtask \(4\) (\(13\) điểm): \(n \leq 5\)
  • Subtask \(5\) (\(15\) điểm): \(n \leq 6\)
  • Subtask \(6\) (\(16\) điểm): \(n \leq 7\)
  • Subtask \(7\) (\(19\) điểm): \(n \leq 8\)

Với mỗi test, nếu output của bạn không hợp lệ (chứa kí tự lạ, chứa từ không phải sit, stand hay unsure, chứa số từ khác với đáp án của ban giám khảo,...) bạn được \(0\) điểm. Ngược lại, gọi \(\rho\) là số từ bạn đáp đúng và \(\sigma\) là tổng số từ có trong đáp án của ban giám khảo, số điểm bạn nhận được là \({(\frac{\rho}{\sigma})}^e\).

Điểm tối đa của một test là \(1\). Điểm của bài nộp là tông điểm đạt được ở tất cả các test.

Ví dụ

Ví dụ 1
photos.inp
2
3 5
4 7 1
4 3
1 1 2 1
photos.out
sit stand unsure 
sit sit stand unsure 

Giải thích

Trong ví dụ thứ hai, \(n = 4\) người có "độ rộng" lần lượt là \(1\), \(1\), \(2\)\(1\). Nếu ta coi chiếc ghế như một đoạn của trục số
thực, từ điểm \(x = 0\) tới điểm \(x = 3\) thì:

  • Trước khi người thứ ngồi vào, ghế trống, do đó người này luôn có chỗ để ngồi.
  • Sau khi người thứ nhất ngồi vào, hai khoảng trống hai bên người này có tổng độ dài là \(2\), vì vậy luôn có
    khoảng trống có độ dài lớn hơn \(1\). Vậy người này luôn có chỗ ngồi vào.
  • Sau khi người thứ hai ngồi vào, tổng độ dài các khoảng trống còn lại của ghế là \(1\), vì vậy người thứ ba không thể ngồi vào ghế.
  • Nếu người thứ nhất ngồi ở vị trí từ \(x = 0\) tới \(x = 1\), người thứ hai ngồi ở vị trí \(x = 1\) tới \(x = 2\), thì người thứ tư có thể ngồi ở vị trí từ \(x = 2\) tới \(x = 3\). Trường hợp khác, nếu người thứ nhất ngồi ở vị trí \(x = 0.5\) tới \(x = 1.5\), người thứ hai ngồi
    ở vị trí từ \(x = 1.5\) tới \(x = 2.5\), thì người thứ tư không có chỗ để ngồi (vì hai khoảng trống còn lại là \([0;0.5]\)\([2.5;3]\) có độ dài nhỏ hơn \(1\)).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: