Mật mã bí ẩn

Đề bài

Mô tả

Cho một xâu c gồm các chữ cái Latin thường và các ký tự dấu sao (*). Mỗi dấu sao đại diện cho một ký tự chưa đọc được: bạn có thể thay mỗi dấu sao bằng một chữ cái Latin thường tùy ý (các dấu sao khác nhau có thể được thay bằng các chữ cái khác nhau).

Bạn có một xâu yêu thích s và một xâu không thích t (với s≠t). Ký hiệu f(x,y) là số lần xuất hiện của y trong x. Các lần xuất hiện được tính cả khi chồng lấp lên nhau, ví dụ f(aababa,ab)=2.

Sau khi thay toàn bộ dấu sao, gọi xâu thu được là c′. Hãy tìm giá trị lớn nhất có thể của f(c′,s)−f(c′,t).

Dữ liệu vào

  • Dòng đầu tiên chứa xâu c gồm các chữ cái Latin thường và dấu sao.
  • Dòng thứ hai chứa xâu s.
  • Dòng thứ ba chứa xâu t.

Dữ liệu ra

  • In ra một số nguyên duy nhất: giá trị lớn nhất của f(c′,s)−f(c′,t).

Ràng buộc

  • 1≤|c|≤1000
  • 1≤|s|,|t|≤50, s≠t
  • s và t chỉ gồm các chữ cái Latin thường.

Ví dụ

Input Output Giải thích
***
cc
z
2 Chọn c′= ccc, khi đó f(c′,cc)=2 (chồng lấp) và f(c′,z)=0.
*****
katie
shiro
1 Chọn c′= katie thì f=1−0=1.
*********
abc
bca
2 Có thể thay 9 dấu sao sao cho số lần xuất hiện của abc nhiều hơn số lần xuất hiện của bca đúng 2 đơn vị.
caat
caat
a
-1 Không có dấu sao nên c′ = caat, cho 1−2=−1.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0