제곱수 부분문자열이 없는 수

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

요약
10^18 이하의 N이 주어질 때, 완전제곱수를 부분 문자열로 포함하지 않는 N 이상의 최소 정수를 구하는 문제입니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 문자열 매칭, 그리디
정답자
아직 제출이 없습니다

문제

정수 aa에 대해 a2a^2를 십진수로 쓴 문자열이 양의 정수 NN의 십진수 표현 안에 부분문자열로 한 번도 나타나지 않으면, NN을 제곱수 부분문자열이 없는 수라고 하자.

이런 수를 오름차순으로 나열하면 2,3,5,6,7,8,22,23,26,…2, 3, 5, 6, 7, 8, 22, 23, 26, \ldots 이다.

양의 정수 NN이 주어질 때, NN 이상인 가장 작은 제곱수 부분문자열이 없는 수를 구하라.

입력

양의 정수 NN이 주어진다.

1≤N≤10181 \le N \le 10^{18}

출력

NN 이상인 가장 작은 제곱수 부분문자열이 없는 수를 출력한다.

예제3

  1. 예제 1

    입력
    225
    
    예상 출력
    226
    
  2. 예제 2

    입력
    545
    
    예상 출력
    552
    
  3. 예제 3

    입력
    2356
    
    예상 출력
    2356