만드는 중입니다

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

Yet Another Expression Mining

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

요약
숫자와 덧셈 기호로 이루어진 문자열에서 앞뒤가 +가 아니고 +가 연속하지 않으며 계산 결과가 A인 부분수열의 개수를 센다.
난이도

어려움10점 중 8점

유형
동적 계획법, 조합론, 수학, 구현
정답자
아직 제출이 없습니다

문제

정수 AA와 다음 10개 문자, 덧셈 연산자 '+'와 숫자 '1', '2', ..., '9'로 이루어진 문자열 SS가 주어진다.

SS의 부분 수열 중 다음 조건을 모두 만족하는 것의 개수를 세어라.

  • 부분 수열은 비어 있지 않다.
  • 부분 수열의 첫 문자가 '+'가 아니다.
  • 부분 수열의 마지막 문자가 '+'가 아니다.
  • 부분 수열에서 '+'가 연속해서 나타나지 않는다.
  • 부분 수열을 수식으로 읽었을 때 계산 결과가 AA이다.

부분 수열이란 주어진 수열에서 원소를 0개 이상 제거하되 남은 원소의 순서를 바꾸지 않고 얻을 수 있는 수열을 말한다.

두 부분 수열은 제거한 원소의 인덱스 집합이 다르면 서로 다른 것으로 본다.

입력

입력은 아래 형식의 단일 테스트 케이스로 주어진다.

SS

AA

첫째 줄에는 문자열 SS가 주어진다 (1≤∣S∣≤361 \le |S| \le 36). SS의 각 문자는 '+' 또는 '1'과 '9' 사이의 숫자이다. 둘째 줄에는 정수 AA가 주어진다 (1≤A≤10181 \le A \le 10^{18}).

출력

주어진 조건을 만족하는 부분 수열의 개수를 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    1+2+3+4+5+6
    18
    
    예상 출력
    9
    
  2. 예제 2

    입력
    +391+49++21+9934
    43
    
    예상 출력
    47
    
  3. 예제 3

    입력
    1111111111111111
    1111111111
    
    예상 출력
    8008