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

Thứ tự pha trà

Đề bài

Mô tả

Nam muốn uống đúng n tách trà. Anh có đúng n gói trà, trong đó a gói trà xanh và b gói trà đen (a+b=n). Mỗi gói trà phải được dùng đúng một lần.

Nam không thích uống cùng một loại trà (xanh hoặc đen) quá k lần liên tiếp.

Hãy xác định thứ tự pha trà để Nam uống được đủ n tách mà không loại trà nào xuất hiện quá k lần liên tiếp, hoặc thông báo rằng điều đó là không thể.

Dữ liệu vào

Một dòng duy nhất chứa bốn số nguyên n, k, a, b: số tách trà Nam muốn uống, số lần liên tiếp tối đa được uống cùng một loại trà, số gói trà xanh và số gói trà đen.

Dữ liệu ra

Nếu không thể uống đủ n tách trà, in ra NO.

Ngược lại, in ra một xâu độ dài n gồm các ký tự G và B. Ký tự thứ i là G nghĩa là tách trà thứ i là trà xanh, còn B nghĩa là trà đen.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1kn105
  • 0a,bn
  • a+b=n

Ví dụ

Input Output Giải thích
5 1 3 2 GBGBG Không được uống hai tách cùng loại liên tiếp nên hai loại phải xen kẽ. Có 3 gói xanh và 2 gói đen nên xâu phải bắt đầu và kết thúc bằng G.
7 2 2 5 BBGBBGB Được phép uống tối đa 2 tách cùng loại liên tiếp. Đáp án BBGBGBB cũng hợp lệ.
4 3 4 0 NO Chỉ có trà xanh nên Nam buộc phải uống 4 tách xanh liên tiếp, vượt quá giới hạn k=3.

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