U E D R , A S I H C RSS

1thPCinCAUCSE/ProblemB

1회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회 B번 문제 : 숫자 입력

컴퓨터 키보드에는 0부터 9까지의 열 개의 수가 있다. 용하여 정수 57일 입력하려면 두 번 (5 한번, 7 한번) 키보드를 쳐야한다. 정수 33을 입력하려해도 역시 두 번 키보드를 쳐야 한다. 1부터 10까지 열 개의 정수를 모두 입력하려면 모두 11번 키보드를 쳐야한다. (1부터 9까지는 각 한번, 10은 두 번) 1부터 34까지를 모두 입력하려면 모두 59번의 키보드를 쳐야 한다.

양의 정수 N에 대해서 1부터 N까지의 정수들을 모두 입력하려면 키보드를 몇 번 쳐야 하는가하는 회수 X를 계산할 수 있다. N=10면 X=11고, N=34면 X=59다.

제는 거꾸로 생각해서, 키보드를 친 회수 X가 주어질 때, N을 구하는 것 문제다. 예를 들어 X=59면 N은 34다. X=11면 N은 10다. 어떤 X에 대해서는 해당하는 N 없을 수도 있다. 예를 들어, X=58면 N은 없다.

X에 대해서 N을 계산하는 프로그램을 작성하시오. 해당하는 N 없으면 -1을 출력한다.

입력
입력은 표준 입력다. 입력의 첫줄에 테스트 케스의 개수를 나타내는 정수 T (10 하) 가 주어진다. 다음 T줄의 각 줄마다 테스트 케스가 주어진다. 테스트 케스는 정수 한개(X)로 뤄진다. X의 최대는 2,000,000,000(20억) 다.

출력
출력은 표준 출력다. 각 테스트 케스의 X에 대해 자기가 계산한 N을 한 줄에 하나씩 출력한다. 해당 N 없으면 -1을 출력한다. T개의 테스트 케스를 모두 맞춰야 문제를 맞춘 것다.

입력의 예
~cpp 
3
59
58
11

입력의 예에 대한 출력
~cpp 
34
-1
10

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:08
Processing time 0.0109 sec