아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

ДВА НИЗА

시간 제한1초메모리 제한1024 MB

요약
두 숫자 문자열이 주어질 때, 첫 번째 문자열의 순환 이동을 수로 읽은 값에서 두 번째 문자열의 순환 이동을 수로 읽은 값을 뺀 최댓값을 구한다. 0으로 시작하는 이동은 제외한다.
난이도

보통10점 중 6점

유형
문자열, 그리디, 문자열 매칭, 수학
정답자
아직 제출이 없습니다

문제

문자열 s0s1…sn−1s_0s_1\ldots s_{n-1}을 kk 위치만큼 순환 이동한 문자열을 sksk+1…sn−1s0..sk−1s_ks_{k+1}\ldots s_{n-1}s_0..s_{k-1}로 정의한다. 예를 들어 문자열 "abcde"를 두 위치만큼 순환 이동한 문자열은 "cdeab"이다. 이 문제에서는 10진 숫자 0부터 9까지만으로 이루어진 문자열만 다룬다. 이런 문자열 각각에는 그 문자열을 10진 표기로 하는 수가 대응된다. 예를 들어 문자열 "123"에는 수 123이 대응된다. 0으로 시작하는 문자열에는 어떤 수도 대응되지 않는다.

두 문자열 ss와 tt가 주어진다. SS를 문자열 ss의 모든 순환 이동의 집합, TT를 문자열 tt의 모든 순환 이동의 집합이라 하자. 예를 들어 s=s = "1234"이면 SS는 문자열 "1234", "2341", "3412", "4123"을 포함한다. 또한 NUM(A)NUM(A)를 집합 AA의 문자열에 대응되는 수의 집합이라 하자.

문자열 ss와 tt가 주어질 때 x−yx - y의 최댓값을 구하는 프로그램 twostr을 작성하시오. 단, xx는 NUM(S)NUM(S)에 속하고 yy는 NUM(T)NUM(T)에 속한다. 예를 들어 s=s = "25", t=t = "12"이면 NUM(S)NUM(S)는 수 25와 52를, NUM(T)NUM(T)는 수 12와 21을 포함한다. 각 쌍의 차는 25−12=1325 - 12 = 13, 25−21=425 - 21 = 4, 52−12=4052 - 12 = 40, 52−21=3152 - 21 = 31이다. 이 차들 중 최댓값은 40이다.

입력

표준 입력의 첫째 줄에 문자열 ss가 주어진다. 표준 입력의 둘째 줄에 문자열 tt가 주어진다. 두 문자열은 0이 아닌 숫자로 시작한다. 0부터 9까지의 숫자만 포함한다.

출력

표준 출력의 한 줄에 구하는 수를 앞에 오는 0 없이 출력한다.

제한

  • 1≤1 \le 문자열의 문자 수 ≤3000\le 3000

예제2

  1. 예제 1

    입력
    25
    12
    
    예상 출력
    40
    
  2. 예제 2

    입력
    1
    100
    
    예상 출력
    -99