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

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

당황하지 말고 올림수를 없애자

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

요약
두 개의 큰 양의 정수가 주어질 때, 표준 덧셈에서 어떤 자리에서도 올림이 생기지 않도록 한 수에서 다른 수로 1씩 옮기는 최소 횟수를 구한다.
난이도

보통10점 중 7점

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

문제

Petra는 학교에서 두 양의 정수를 더하는 법을 배우고 있는데, 조금 너무 어렵다고 생각한다. 현재 배우는 것은 표준 덧셈 알고리즘으로, 먼저 두 일의 자리 숫자의 합을 계산하고, 그다음 두 십의 자리 숫자의 합을 계산하는 식으로 진행한다. 두 수의 같은 자리 숫자의 합이 9를 넘으면, 바로 위 자리의 숫자에 올림수 1이 더해진다. Petra는 이 마지막 단계에서 자주 실수한다. 올림수를 기억하지 못하는 것이다.

몇 주 전, Petra는 더 간단한 덧셈 방법도 배웠다. 이 방법에서는 한 수에 1을 더하고 다른 수에서 1을 빼는 것을 두 번째 수가 0이 될 때까지 반복한다. 물론 큰 수에서는 시간이 아주 오래 걸릴 수 있다.

Petra는 이제 빠르고 실수 없는 덧셈을 위해 두 방법을 결합하려 한다. 계획은 두 수를 표준 알고리즘으로 더했을 때 올림수가 생기지 않을 때까지 두 번째 방법을 한 단계씩 수행하는 것이다(양의 정수에서는 언젠가 반드시 그런 상태에 도달한다). 새 방법의 성능을 평가하기 위해, 주어진 두 정수를 더할 때 두 번째 방법을 몇 단계 수행해야 하는지 계산해 달라고 부탁했다. Petra는 어느 쪽 수에든 1을 더할 수 있다(그러면 다른 수에서 1이 빠진다).

입력

입력은 두 줄로 이루어지며, 각 줄에는 자릿수가 최대 10610^6인 양의 정수가 하나씩 주어진다. 이 두 정수가 Petra가 더하려는 수이다.

출력

두 수를 표준 덧셈 알고리즘으로 올림수 없이 더할 수 있게 될 때까지, Petra가 한 수에 1을 더하는(동시에 다른 수에서 1을 빼는) 최소 횟수를 정수 하나로 출력한다.

예제3

  1. 예제 1

    입력
    10
    99
    
    예상 출력
    1
    
  2. 예제 2

    입력
    90
    10
    
    예상 출력
    10
    
  3. 예제 3

    입력
    23425
    487915
    
    예상 출력
    12085