만드는 중입니다

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

체육 수업

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

요약
1부터 n까지의 수를 자릿수 합으로 정렬하고 같은 합이면 값 순으로 정렬했을 때 제자리에 그대로 있는 수의 개수를 구합니다.
난이도

보통10점 중 7점

유형
수학, 동적 계획법, 이분 탐색
정답자
아직 제출이 없습니다

문제

바샤라는 안드로이드는 주 1회 체육 수업에 나온다. 트레이너는 생각하는 능력도 신체 능력만큼 훈련해야 한다고 믿는다. 그래서 트레이너는 풀기 쉽지 않은 과제를 자주 낸다.

오늘의 과제는 다음과 같다. 처음에 nn명의 안드로이드가 한 줄로 서 있다. 트레이너는 각자에게 10진수로 표기한 서로 다른 번호를 나누어 준다. 번호는 줄에 선 순서대로 왼쪽에서 오른쪽으로 11부터 nn까지이다. 트레이너의 명령이 떨어지면 학생들은 줄을 새로운 순서로 다시 세운다. 새 줄에서 이웃한 두 안드로이드는 다음 조건 중 하나를 만족해야 한다.

  • 왼쪽 안드로이드 번호의 자릿수 합이 오른쪽 안드로이드 번호의 자릿수 합보다 작다.
  • 자릿수 합이 같고, 왼쪽 안드로이드 번호가 오른쪽 안드로이드 번호보다 작다.

학생들은 줄을 매우 느리게 다시 세우고 있다. 바샤는 처음부터 줄의 맨 앞에 서 있었기 때문에 자리를 옮길 필요가 없었고, 그래서 이 과정이 지루하다.

줄을 다시 세우는 동안 바샤는 자리를 옮길 필요가 없는 안드로이드가 몇 명인지 세어 보기로 했다. 그 수를 구하라.

입력

한 줄에 그룹의 안드로이드 수를 나타내는 정수 nn이 주어진다(2≤n≤1092 \leq n \leq 10^9).

출력

자리를 옮길 필요가 없는 안드로이드의 수를 출력한다.

힌트

새로운 순서는 1, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9, 18, 19이다. 안드로이드 18과 19, 그리고 바샤는 자리를 옮길 필요가 없었다.

예제1

  1. 예제 1

    입력
    19
    
    예상 출력
    3