Chạy Trên Vòng Tròn

Đề bài

Mô tả

Một đường chạy tròn có chu vi M. Con bò xuất phát tại vị trí 0, và tổng quãng đường nó đã chạy là R=0.

Trò chơi gồm N lượt. Mỗi lượt có một chồng 8 lá bài, cho theo thứ tự từ trên xuống dưới. Trong một lượt:

  1. Bác John (FJ) giữ lại 4 lá trên cùng (ghi là T) hoặc 4 lá dưới cùng (ghi là B) của chồng bài.
  2. Bessie giữ lại 2 lá trên cùng (T) hoặc 2 lá dưới cùng (B) trong 4 lá mà FJ vừa giữ.
  3. Trong 2 lá còn lại, gọi Xtop là giá trị lá trên và Xbot là giá trị lá dưới.
  4. Con bò chạy thêm R×Xtop, rồi chạy thêm Xbot nữa. Tổng quãng đường trở thành RR×(1+Xtop)+Xbot.

Sau N lượt, con bò dừng ở vị trí RmodM trên đường tròn. FJ thắng nếu vị trí đó cách điểm xuất phát không quá K theo đường tròn, tức là nằm trong [0,K] hoặc [MK,M1].

Bessie chơi đối kháng: cô luôn chọn nước làm FJ thua nếu có thể. Trong mỗi lượt FJ đi trước, nên khi tới lượt thứ i anh đã biết mọi lựa chọn của Bessie ở các lượt trước và được phép quyết định dựa trên chúng.

FJ luôn chơi theo một chiến lược bảo đảm thắng dù Bessie chọn thế nào. Nếu ở một lượt cả hai nước BT đều còn bảo đảm thắng, anh chọn nước nhỏ hơn theo thứ tự từ điển, tức là B.

Ván đấu thật diễn ra với chuỗi nước đi của Bessie cho trong dữ liệu vào. Hãy in ra chuỗi N nước đi mà FJ thực hiện trong ván đấu đó.

Dữ liệu vào

  • Dòng 1: ba số nguyên N, M, K
  • Dòng 2: chuỗi N ký tự T/B, là nước đi thật của Bessie ở từng lượt
  • N dòng tiếp theo: mỗi dòng 8 số nguyên, giá trị các lá bài của lượt đó theo thứ tự từ trên xuống dưới

Dữ liệu ra

Một dòng duy nhất: chuỗi N ký tự T/B là các nước đi của FJ.

Ràng buộc

  • 1N14
  • 2M109
  • 0KM/2
  • Giá trị mỗi lá bài nằm trong [0,M1]
  • Dữ liệu bảo đảm FJ có ít nhất một chiến lược thắng.

Ví dụ

Input Output Giải thích
2 2 0
TT
1 0 0 0 0 0 0 1
0 1 1 1 0 0 1 0
TB M=2, K=0 nên chỉ vị trí 0 mới thắng. Ở lượt 1 nước B để Bessie đẩy con bò tới R=1, và từ đó FJ thua, nên FJ phải chọn T; khi đó R=0 với cả hai nước của Bessie. Ở lượt 2 nước B giữ R=0 trong mọi trường hợp nên được chọn.
3 7 1
TTB
2 2 6 4 1 0 5 6
3 3 3 5 4 1 3 2
2 6 0 3 2 4 2 1
BTT Các vị trí thắng là 0,1,6. Lượt 1: B an toàn, Bessie chọn T nên R=0. Lượt 2: nếu FJ chọn B thì Bessie chọn B đưa về R=2, một vị trí thua, nên FJ phải chọn T; Bessie chọn T nên R=3. Lượt 3: từ R=3 nước B để Bessie đẩy về 3, còn T cho 1 hoặc 6, đều thắng. Tính thích nghi thể hiện rõ: nếu Bessie chơi BTT thì đáp án đổi thành BBT.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0