Quốc ca Berland

Đề bài

Mô tả

Cho một xâu s gồm các chữ cái latin thường và các dấu hỏi chấm, cùng một xâu t chỉ gồm các chữ cái latin thường.

Bạn phải thay mọi dấu hỏi chấm trong s bằng một chữ cái latin thường (mỗi dấu hỏi được thay độc lập, có thể chọn các chữ cái khác nhau). Sau khi thay, hãy đếm số lần xâu t xuất hiện trong s.

Các lần xuất hiện của t được phép chồng lấn nhau: hai lần xuất hiện bắt đầu tại hai vị trí khác nhau luôn được tính là hai lần xuất hiện, kể cả khi chúng dùng chung một số ký tự.

Hãy tìm số lần xuất hiện lớn nhất của t trong s có thể đạt được.

Dữ liệu vào

  • Dòng thứ nhất chứa xâu s gồm các chữ cái latin thường và dấu hỏi chấm.
  • Dòng thứ hai chứa xâu t gồm các chữ cái latin thường.

Dữ liệu ra

Một số nguyên duy nhất: số lần xuất hiện lớn nhất của t trong s sau khi thay tất cả các dấu hỏi chấm.

Ràng buộc

  • 1≤|s|≤105
  • 1≤|t|≤105
  • |s|·|t|≤107

Ví dụ

Input Output Giải thích
winlose???winl???w??
win
5 Một cách thay tối ưu cho xâu winlosewinwinlwinwin, trong đó win xuất hiện 5 lần.
glo?yto?e??an?
or
3 Xâu thu được là glorytoreorand, chứa or tại các vị trí 3, 8 và 10. Ký tự cuối cùng có thể chọn tuỳ ý vì nó không thuộc lần xuất hiện nào.
??c?????
abcab
2 Xâu thu được là abcabcab. Hai lần xuất hiện của abcab bắt đầu tại vị trí 1 và vị trí 4, chúng chồng lấn nhau trên đoạn ab.

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