Đổi tên đội (Hockey)

Đề bài

Mô tả

Cho một xâu w (gọi là tên đội) và một danh sách gồm n xâu cấm s1,s2,,sn. Tất cả đều gồm các chữ cái Latin in hoa hoặc in thường.

Một vị trí i trong w được gọi là bị bao phủ nếu tồn tại cặp chỉ số l,r (1lir|w|) sao cho xâu con w[l..r] trùng với một trong các xâu cấm khi so sánh không phân biệt hoa thường (tức là "aBC" và "ABc" được xem là bằng nhau).

Bạn phải thay thế mỗi ký tự ở vị trí bị bao phủ bằng một ký tự khác (không được giữ nguyên), trong khi các ký tự không bị bao phủ thì không được thay đổi. Khi thay thế, giữ nguyên kiểu hoa/thường của ký tự gốc.

Cho trước một chữ cái may mắn letter (viết thường). Hãy thực hiện các phép thay thế sao cho số lần xuất hiện của chữ cái letter trong xâu kết quả (tính cả dạng in hoa lẫn dạng in thường) là lớn nhất có thể. Nếu có nhiều xâu kết quả thoả mãn, hãy in xâu nhỏ nhất theo thứ tự từ điển (so sánh theo toán tử < chuẩn, trong đó các chữ cái in hoa nhỏ hơn các chữ cái in thường theo bảng mã ASCII).

Quá trình thay thế chỉ thực hiện một lần: nếu sau khi thay, xâu mới chứa thêm các đoạn trùng với xâu cấm thì cũng không xử lý tiếp.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số lượng xâu cấm.
  • n dòng tiếp theo, mỗi dòng chứa một xâu cấm.
  • Dòng tiếp theo chứa xâu w.
  • Dòng cuối chứa một chữ cái thường duy nhất letter.

Tất cả n+1 xâu là các xâu không rỗng gồm các chữ cái Latin in hoa hoặc in thường, độ dài không vượt quá 100.

Dữ liệu ra

In ra xâu kết quả thoả mãn các điều kiện trên.

Ràng buộc

  • 1n100
  • Mỗi xâu (cả các xâu cấm và xâu w) có độ dài từ 1 đến 100.

Ví dụ

Input Output Giải thích
3
bers
ucky
elu
PetrLoveLuckyNumbers
t
PetrLovtTttttNumtttt Các vị trí bị bao phủ là 8–13 (do "elu" và "ucky") và 17–20 (do "bers"). Ký tự ở vị trí 9 là 'L' nên thay bằng 'T'; các vị trí còn lại đều là chữ thường nên thay bằng 't'.
2
aCa
cba
abAcaba
c
abCacba Đoạn "aca" (không phân biệt hoa thường) xuất hiện ở vị trí 3–5, bao phủ các ký tự A, c, a. 'A' (in hoa) đổi thành 'C'; 'c' đã là chữ may mắn nên phải đổi sang ký tự khác, chọn 'a' để nhỏ nhất theo thứ tự từ điển; 'a' đổi thành 'c'.
4
hello
party
abefglghjdhfgj
IVan
petrsmatchwin
a
petrsmatchwin Không xâu cấm nào xuất hiện trong w, nên không có vị trí bị bao phủ và xâu được giữ nguyê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