해결한 사람
0
명
정답률
0.00
%
시간 제한
4000
ms
메모리 제한
245
MB
길이가 같은 두 문자열 s와 t가 있다고 하자. 다음 연산을 원하는 만큼 수행할 수 있다. 서로 다른 두 문자 c1와 c2를 고르고, 두 문자열 모두에서 c1가 나타나는 모든 곳을 c2로 바꾼다. 문자열 s와 t 사이의 거리를 두 문자열을 같게 만드는 데 필요한 최소 연산 횟수라고 하자. 예를 들어 s가 abcd이고 t가 ddcb이면 두 문자열 사이의 거리는 2이다. a가 나타나는 모든 곳을 b로 바꾸면 s는 bbcd가 되고, 그다음 b가 나타나는 모든 곳을 d로 바꾸면 두 문자열 모두 ddcd가 된다.
두 문자열 S and T이 주어진다. |T|개의 문자로 이루어진 S의 모든 부분 문자열에 대해, 해당 부분 문자열과 T 사이의 거리를 구해야 한다.
첫 번째 줄에는 문자열 S가, 두 번째 줄에는 문자열 T (1 ≤ |T| ≤ |S| ≤ 125000)가 주어진다. 두 문자열은 모두 a부터 f까지의 소문자 라틴 문자로만 이루어진다.
|S| - |T| + 1개의 정수를 출력한다. 이 정수들 중 i-th는 i-th 인덱스에서 시작하며 길이가 |T|인 S의 부분 문자열과 문자열 T 사이의 거리와 같아야 한다.
abcdefa
ddcb
2 3 3 3