\(N\) hộp khác nhau đứng liền kề nhau và được đánh số từ \(1\) đến \(N\). sẽ trốn vào một hộp bất kì trong \(N\) hộp đó. Sau khi trốn xong bắt đầu đi tìm, mỗi giây sẽ thực hiện thao tác tìm chú chó của mình như sau:
và chú chó của mình chơi trò trốn tìm với nhau, trong đó là người đi tìm và sẽ đi trốn. Trong ngôi nhà của có-
Đầu tiên
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 thấy chú chó của mình ở đó thì trò chơi kết thúc, nếu chưa tìm ra thì sẽ đặt lại hộp vào chỗ cũ. -
Sau đó, \(0\) giây).
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 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à
Các lựa chọn của
tùy thuộc vào tình trạng của nó lúc đó. Cụ thể có hai tâm trạng như sau:-
Nếu \(1\) hoặc ô số \(N\) thì nó sẽ đứng im trong hộp đấy.
đ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ố -
Nếu
đang ở tình trạng tò mò thì nó sẽ nhảy đến gần hộp đã kiểm tra (lưu ý rằng luôn có thể tiến lại gần hơn).
Lưu ý rằng chú chó
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 đó.Vì \(X\) giây sợ hãi và \(Y\) giây tò mò. Ví dụ với \(X = 1\) và \(Y = 2\) thì tâm trạng của lần lượt sẽ là (sợ hãi, tò mò, tò mò, sợ hãi, tò mò, tò mò, sợ hãi,...).
là một con chó cưng của nên anh ấy hiểu rất rõ các tâm trạng của . biết rằng tình trạng của luôn xen kẽ giữa đúngcả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ó dù cho lúc đầu có trốn ở đâu thì sẽ luôn tìm ra chú chó ấy.
Yêu cầu: Bạn hãy giúp
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\) cần để tìm ra chú chó .
-
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ó 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\) và \(Y = 1\).
- Subtask \(2\) (\(12\%\) số điểm): Có \(X = 1\) và \(Y = 0\).
- Subtask \(3\) (\(8\%\) số điểm): Có \(X = 1\) và \(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ì
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