포럼
문제 USACO0627

돌고 도는 반올림

설명

소 베시(Bessie)가 학교로 돌아왔다! 베시는 양의 정수를 \(10\)의 거듭제곱으로 반올림하는 수학 숙제를 하기 시작했다.

양의 정수 \(a\)를 가장 가까운 \(10^b\)으로 반올림하기 위해(\(b\)는 양의 정수), 베시는 먼저 오른쪽에서 \(b\)번째 자리의 숫자를 찾는다. 이 숫자를 \(x\)라 하자.

\(x \geq 5\)이면, 베시는 \(a\)\(10^b\)을 더한다.

그 다음, 베시는 오른쪽에서 \(b\)번째 자리와 그 오른쪽의 모든 자릿수를 \(0\)으로 만든다.

예를 들어, 베시가 \(456\)을 가장 가까운 \(10^2\)(백의 자리)으로 반올림하려면, 먼저 오른쪽에서 \(2\)번째 자리의 숫자인 \(5\)를 찾는다. 즉 \(x = 5\)이다. \(x \geq 5\)이므로 베시는 \(a\)\(100\)을 더한다. 마지막으로 베시는 \(a\)에서 오른쪽에서 \(2\)번째 자리와 그 오른쪽의 모든 자릿수를 \(0\)으로 만들어 \(500\)을 얻는다.

반면 베시가 \(446\)을 가장 가까운 \(10^2\)으로 반올림하면 \(400\)이 된다.

베시의 숙제를 본 엘시(Elsie)는 자신이 새로운 반올림 방식을 발명했다고 생각한다. 바로 연쇄 반올림이다. 가장 가까운 \(10^b\)으로 연쇄 반올림을 하기 위해, 엘시는 먼저 가장 가까운 \(10^1\)로 반올림하고, 그 다음 가장 가까운 \(10^2\)으로, 이런 식으로 가장 가까운 \(10^b\)까지 반올림한다.

베시는 엘시가 틀렸다고 생각하지만, 수학 숙제로 너무 바빠서 자신의 의심을 확인할 수 없다. 베시는 \(2\) 이상 \(N\) (\(1 \leq N \leq 10^{9}\)) 이하의 정수 \(x\) 중에서, \(x\)를 가장 가까운 \(10^P\)으로 반올림한 결과와 가장 가까운 \(10^P\)으로 연쇄 반올림한 결과가 다른 것의 개수를 세는 일을 당신에게 맡겼다. 여기서 \(P\)\(10^P \geq x\)를 만족하는 가장 작은 정수이다.

문제 제공: Weiming Zhou

제약

배점

  • 입력 2-4: \(N\le 10^3\)
  • 입력 5-7: \(N\le 10^6\)
  • 입력 8-13: 추가 제약이 없다.

문제 제공: Weiming Zhou

입력 형식

여러 개의 테스트 케이스에 답해야 한다.

입력의 첫째 줄에는 테스트 케이스의 수를 나타내는 정수 \(T\) (\(1 \leq T \leq 10^5\))가 주어진다. 이어서 \(T\)개의 테스트 케이스가 주어진다.

각 테스트 케이스의 첫째 줄이자 유일한 줄에는 정수 \(N\)이 주어진다. 같은 입력 파일 안의 모든 \(N\)은 서로 다름이 보장된다.

출력 형식

\(T\)개의 줄을 출력하며, \(i\)번째 줄에는 \(i\)번째 테스트 케이스의 답을 출력한다. 각 줄은 두 반올림 방식의 결과가 서로 다른, \(2\) 이상 \(N\) 이하의 정수의 개수를 나타내는 정수여야 한다.

예제 1
입력
4
1
100
4567
3366
출력
0
5
183
60
설명

Consider the second test case in the sample. \(48\) should be counted because \(48\)
chain rounded to the nearest \(10^2\) is \(100\) (\(48\to 50\to 100\)), but \(48\)
rounded to the nearest \(10^2\) is
\(0\).

In the third test case, two integers counted are \(48\) and \(480\). \(48\) chain
rounds to \(100\) instead of to \(0\) and \(480\) chain rounds to \(1000\) instead of
\(0\). However, \(67\) is not counted since it chain rounds to \(100\) which is \(67\)
rounded to the nearest \(10^2\).

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2024-2025 > December > Bronze

태그

평가 및 의견

Roundabout Rounding

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Roundabout Rounding

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8