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

Hoàn thiện từ đẹp

Đề bài

Mô tả

Một xâu được gọi là đẹp nếu nó có một xâu con liên tiếp độ dài 26 mà mỗi chữ cái viết hoa của bảng chữ cái tiếng Anh xuất hiện đúng một lần. Đặc biệt, mọi xâu có độ dài nhỏ hơn 26 đều không đẹp.

Cho xâu s, trong đó một số vị trí đã bị quên và được biểu diễn bằng dấu chấm hỏi ?. Hãy thay thế tất cả các dấu ? bằng các chữ cái viết hoa từ A đến Z sao cho xâu thu được là đẹp, hoặc thông báo rằng điều đó là không thể.

Nếu có nhiều cách điền hợp lệ, in ra một cách bất kỳ.

Dữ liệu vào

Một dòng duy nhất chứa xâu s (1|s|50000). Mỗi ký tự của s là một chữ cái viết hoa tiếng Anh (AZ) hoặc dấu chấm hỏi ?.

Dữ liệu ra

In ra -1 nếu không có cách thay thế nào tạo được một xâu đẹp.

Ngược lại, in ra một xâu thoả mãn: trùng với s ở mọi vị trí không phải ?, và mọi ? được thay bằng chữ cái viết hoa sao cho xâu thu được là đẹp.

Ràng buộc

  • 1|s|50000
  • Mỗi ký tự của s thuộc tập {A, B, ..., Z, ?}.

Ví dụ

Input Output Giải thích
ABC??FGHIJK???OPQR?TUVWXY? ABCDEFGHIJKLMNOPQRSTUVWXYZ Toàn bộ xâu (độ dài 26) chứa đúng mỗi chữ cái một lần, nên là một xâu đẹp.
WELCOMETOCODEFORCESROUNDTHREEHUNDREDANDSEVENTYTWO -1 Không có dấu ? nào để điền, và bản thân xâu không có xâu con độ dài 26 chứa đủ 26 chữ cái.
?????????????????????????? ABCDEFGHIJKLMNOPQRSTUVWXYZ Xâu chỉ gồm dấu ? với độ dài đúng bằng 26, mọi hoán vị của bảng chữ cái đều hợp lệ.
AABCDEFGHIJKLMNOPQRSTUVW??M -1 Ký tự A xuất hiện ở hai vị trí gần nhau khiến mọi cửa sổ độ dài 26 đều có chữ cái trùng.

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