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

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

폰 호석만

면접 대비

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

요약
같은 수를 서로 다른 두 진법 A와 B로 적은 두 문자열이 주어질 때, 원래 수 X와 두 진법을 찾아내고 경우에 따라 Multiple 또는 Impossible을 출력한다.
난이도

보통10점 중 6점

유형
수학, 완전 탐색, 구현, 문자열 매칭
정답자
아직 제출이 없습니다

문제

폰 호석만은 진법 변환의 달인이다. 어떤 진법의 수가 주어져도 모든 다른 진법으로의 변환이 가능한 폰 호석만은 새로운 문제를 내기로 했다. 폰 호석만이 내는 문제는 다음과 같이 진행된다.

먼저 폰 호석만은 수 3개 X, A, B를 결정한다(0 ≤ X < 2^63, 2 ≤ A ≤ 36, 2 ≤ B ≤ 36, A ≠ B). 이 때 X는 10진법이다. 그 다음에 X를 A진법으로 표현한 수와 B진법으로 표현한 수를 종이에 써 놓는다.

그 다음에 종이에 써져 있는 두 개의 수를 여러분에게 보여주게 된다. 주어진 두 개의 수를 통해 원래 숫자인 X, A, B를 계산해주자. 만약 조건을 만족하는 (X, A, B)로 가능한 조합이 여러 개라면 "Multiple"을 출력하고, 가능한 조합이 없다면 "Impossible"를 출력한다.

입력

첫번째 줄에 X를 A진법으로 표현한 값과 X를 B진법으로 표현한 값이 공백으로 구분되어 주어진다. 각 자리수는 0 이상 z 이하이다. a부터 z 는 10부터 35 를 의미한다.

단, 0을 제외한 각 수는 0 으로 시작하지 않으며, 길이는 최대 70 이다.

출력

만약 문제의 조건에 맞는 X, A, B가 유일하게 존재한다면, X를 십진법으로 표현한 수와 A와 B를 공백으로 나누어 출력하라. 만약 만족하는 경우가 2가지 이상이라면 "Multiple"을, 없다면 "Impossible"을 출력하라.

제한

  • 0 ≤ X < 2^63
  • 2 ≤ A ≤ 36
  • 2 ≤ B ≤ 36
  • A ≠ B
  • X는 0 혹은 양의 정수, A와 B는 양의 정수이다.

힌트

C++의 long long type과 Java의 Long 타입 변수가 가질 수 있는 값의 범위는 -2^63 이상 2^63 미만 입니다.

예제4

  1. 예제 1

    입력
    ep jh
    
    예상 출력
    473 32 24
    
  2. 예제 2

    입력
    z z
    
    예상 출력
    Impossible
    
  3. 예제 3

    입력
    0 0
    
    예상 출력
    Multiple
    
  4. 예제 4

    입력
    2222222222222222222222222222222222222222222222222222222222222222222222 8888888888888888888888888888888
    
    예상 출력
    Impossible