만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

0의 연속 패턴

시간 제한2초메모리 제한128 MB

요약
두 이진 문자열을 점점 늘어나는 방식으로 이어붙인 문자열의 앞 10^16자 안에서 0이 C개 연속으로 나오는 첫 위치를 구합니다.
난이도

어려움10점 중 8점

유형
문자열, 이분 탐색, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

0과 1로만 이루어진 두 문자열 S1과 S2가 주어진다. 양의 정수 N에 대해 S(N)은 S1을 1,000,000번 이어 붙인 뒤, S2를 N번 이어 붙인 문자열이다.

무한 문자열 S는 S(1), S(2), S(3), ...을 차례대로 이어 붙여 만든다. T는 S의 처음 10^16개 문자로 이루어진 문자열이다.

T의 부분 문자열 중 길이가 C이고 모든 문자가 0인 것이 처음 나타나는 위치를 구하라. 위치는 0부터 시작한다.

입력

첫째 줄에 S1, 둘째 줄에 S2가 주어진다. 두 문자열은 0과 1로만 이루어져 있으며, 각각의 길이는 50 이하이다.

셋째 줄에는 자연수 C가 주어진다. C <= 10^16이다.

출력

정답을 한 줄에 출력한다. 조건을 만족하는 부분 문자열이 없다면 -1을 출력한다.

예제5

  1. 예제 1

    입력
    111010100001010
    010000001000
    3
    
    예상 출력
    7
    
  2. 예제 2

    입력
    1101010010
    0001000
    3
    
    예상 출력
    9999999
    
  3. 예제 3

    입력
    1101010010
    0001000
    5
    
    예상 출력
    20000011
    
  4. 예제 4

    입력
    10101010
    101010101010
    9876543219876
    
    예상 출력
    -1
    
  5. 예제 5

    입력
    11111111111111111111111111
    0
    9876543219876
    
    예상 출력
    -1