LQDOJ Contest #10 - Bài 9 - Trò Chơi Trốn Tìm

Xem PDF

Điểm: 2500 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

shiba và chú chó _minhduc của mình chơi trò trốn tìm với nhau, trong đó shiba là người đi tìm và _minhduc sẽ đi trốn. Trong ngôi nhà của shiba\(N\) hộp khác nhau đứng liền kề nhau và được đánh số từ \(1\) đến \(N\). _minhduc sẽ trốn vào một hộp bất kì trong \(N\) hộp đó. Sau khi trốn xong shiba bắt đầu đi tìm, mỗi giây shiba sẽ thực hiện thao tác tìm chú chó của mình như sau:

  • Đầu tiên shiba chọn một hộp bất kì và kiểm tra nó (ta sẽ gọi hộp đó là hộp đã kiểm tra). Nếu shiba thấy chú chó _minhduc của mình ở đó thì trò chơi kết thúc, nếu chưa tìm ra thì shiba sẽ đặt lại hộp vào chỗ cũ.

  • Sau đó, _minhduc sẽ chọn một trong hai lựa chọn như sau: nằm im ở trong hộp mình đang đứng, hoặc nhảy sang hộp bên cạnh (hộp cạnh bên trái hoặc hộp cạnh bên phải đều được). Lưu ý rằng _minhduc có thể nhảy vào hộp đã kiểm tra nếu đó là hộp bên cạnh chú chó ấy đang đứng (giả sử rằng thời gian nhảy từ hộp này sang hộp khác là không đáng kể, có thể nói là \(0\) giây).

Các lựa chọn của _minhduc tùy thuộc vào tình trạng của nó lúc đó. Cụ thể _minhduc có hai tâm trạng như sau:

  • Nếu _minhduc đang ở tình trạng sợ hãi thì nó sẽ nhảy ra xa hộp đã kiểm tra. Nếu nó đang ở hộp số \(1\) hoặc ô số \(N\) thì nó sẽ đứng im trong hộp đấy.

  • Nếu _minhduc đang ở tình trạng tò mò thì nó sẽ nhảy đến gần hộp đã kiểm tra (lưu ý rằng _minhduc luôn có thể tiến lại gần hơn).

Lưu ý rằng chú chó _minhduc chỉ hành động dựa trên hộp đã kiểm tra gần nhất, không quan tâm đến hộp đã kiểm tra trước đó.

_minhduc là một con chó cưng của shiba nên anh ấy hiểu rất rõ các tâm trạng của _minhduc. shiba biết rằng tình trạng của _minhduc luôn xen kẽ giữa đúng \(X\) giây sợ hãi và \(Y\) giây tò mò. Ví dụ với \(X = 1\)\(Y = 2\) thì tâm trạng của _minhduc lần lượt sẽ là (sợ hãi, tò mò, tò mò, sợ hãi, tò mò, tò mò, sợ hãi,...).

shiba cảm thấy việc tìm chú chó của mình quá khó khăn nên anh ấy quyết định nhờ các bạn tài năng của LQDOJ tính toán một chuỗi các hộp cần kiểm tra sao cho chú chó _minhduc dù cho lúc đầu có trốn ở đâu thì shiba sẽ luôn tìm ra chú chó ấy.

Yêu cầu: Bạn hãy giúp shiba giải quyết vấn đề trên.

Input

  • Chứa ba số nguyên lần lượt là \(N,X,Y\) \((2 \le N \le 10^4; 0 \le X,Y \le 50)\).

Output

  • Dòng đầu tiên in ra số giây \(M\) shiba cần để tìm ra chú chó _minhduc.

  • Dòng tiếp theo in ra \(M\) số nguyên nằm trong đoạn \([1;N]\) là liệt kê các hộp được kiểm tra vào mỗi giây (trình tự này được phép lặp lại). Mỗi số được liệt kê cách nhau một khoảng trắng.

Scoring

Gọi \(M\) là số giây trong trình tự tìm hộp của bạn. Nếu bạn cố kiểm tra một hộp không hợp lệ (tức là hộp bạn kiểm tra nằm ngoài đoạn \([1;N]\)) hoặc trình tự tìm hộp của bạn không phải lúc nào cũng có thể tìm ra chú chó _minhduc thì bạn sẽ nhận được \(0\) điểm với chú thích Wrong Answer. Với mỗi test có \(P\) điểm thì bạn sẽ nhận được \(k \times P\) điểm với \(k\) là:

  • \(k = 0\) nếu \(M > 2 \times N\).

  • \(k = 1\) nếu \(M \le T\).

  • Các trường hợp còn lại \(k = \frac{1}{2} \times (\frac{T}{M})^2\).

  • Ta có \(T = \frac{N\ \times(X+Y)}{X+2max(X,Y)} + 3max(X,Y)\).

Subtask

  • Subtask \(1\) (\(8\%\) số điểm): Có \(X = 0\)\(Y = 1\).
  • Subtask \(2\) (\(12\%\) số điểm): Có \(X = 1\)\(Y = 0\).
  • Subtask \(3\) (\(8\%\) số điểm): Có \(X = 1\)\(Y = 1\).
  • Subtask \(4\) (\(72\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
10 2 1
Output
6
1 3 10 6 8 10
Note
  • Đây là một ví dụ về trò chơi: Giả sử chú chó ban đầu trốn ở ô số \(5\).
Giây Ô đã kiểm tra Tình trạng của chú chó trước khi nhảy Ô của chú chó sau khi nhảy
\(1\) \(1\) Sợ hãi \(5 \rightarrow 6\)
\(2\) \(3\) Sợ hãi \(6 \rightarrow 7\)
\(3\) \(10\) Tò mò \(7 \rightarrow 8\)
\(4\) \(6\) Sợ hãi \(8 \rightarrow 9\)
\(5\) \(8\) Sợ hãi \(9 \rightarrow 10\)
\(6\) \(10\) Tò mò Đã bị tìm thấy nên không thể di chuyển được nữa

Giả sử vẫn chưa tìm thấy thì shiba có thể tiếp tục lặp lại trình tự của mình đến khi tìm ra chú chó của mình.
Test ví dụ này thỏa mãn yêu cầu đề bài và \(M \le T\) \((6 < 11)\) nên sẽ được điểm tuyệt đối.


Bình luận

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