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

Roma va Poker

Đề bài

Mô tả

Roma chơi một chuỗi ván bài, mỗi ván chỉ có thể thắng, thua hoặc hòa. Mỗi ván thắng làm số tiền của Roma tăng 1, mỗi ván thua làm giảm 1, ván hòa giữ nguyên. Gọi độ chênh tại một thời điểm là hiệu giữa số ván thắng và số ván thua tính tới thời điểm đó (giá trị này có thể âm).

Roma sẽ dừng chơi ngay khi giá trị tuyệt đối của độ chênh đạt đúng k (dù là do thắng đủ nhiều hay thua đủ nhiều).

Kết quả của chuỗi ván được ghi lại thành một xâu s gồm n ký tự:

  • W: ván thắng
  • L: ván thua
  • D: ván hòa
  • ?: không nhớ kết quả

Hãy khôi phục lại một chuỗi kết quả hợp lệ bằng cách thay mọi ký tự ? bởi một trong ba ký tự W, L, D, sao cho:

  • Sau khi chơi hết cả n ván, giá trị tuyệt đối của độ chênh đúng bằng k;
  • Không tồn tại ván nào mà trước khi chơi ván đó, giá trị tuyệt đối của độ chênh đã bằng k (nói cách khác, độ chênh chỉ được phép chạm mức ±k đúng một lần, ngay sau ván cuối cùng).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk.
  • Dòng thứ hai chứa xâu s gồm đúng n ký tự thuộc tập {W,L,D,?}.

Dữ liệu ra

Nếu không thể khôi phục được chuỗi hợp lệ nào, in ra NO.

Ngược lại, in ra một chuỗi kết quả hợp lệ (gồm n ký tự W, L, D). Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.

Ràng buộc

  • 1n,k1000

Ví dụ

Input Output Giải thích
3 2
L??
LDL Độ chênh đi qua các mức 0112. Chỉ chạm ±2 ngay sau ván cuối.
3 1
W??
NO Ván đầu là W nên ngay sau ván 1 độ chênh đã bằng 1=k, vi phạm điều kiện với n=3>1.
5 3
??D??
WWDDW Độ chênh 012223, chỉ đạt 3 ở cuối. Đáp án khác cũng được chấp nhận.

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