생일수 I Batch
Time limit | Memory limit | # of submissions | # of submitted users | Solved # | Accepted user ratio |
---|---|---|---|---|---|
1000 ms | 256 MiB | 120 | 38 | 29 | 76.32% |
승현이는 1998년 3월 5일에 태어났습니다. 그래서 승현이는 자신의 생년월일에 있는 수들 중에서 3, 5, 8을 굉장히 좋아합니다. 이에 승현이는 10진수로 표현했을 때 3, 5, 8로만 구성되어 있는 자연수를 '생일수'로 부르기로 했습니다. 예로 들어 3, 533, 858553은 생일수이지만, 3518, 1642, 88808은 생일수가 아닙니다.
여러분은 임의의 자연수 $N$이 주어졌을 때, 10진법으로 나타냈을 때 각 자리수의 합이 $N$이 되는 가장 작은 생일수를 찾아서 출력하는 프로그램을 작성해야 합니다. 문제가 너무 간단한가요?ㅋㅋ
입력 형식
첫째 줄에 테스트 케이스의 수 $T$ ( $1 \le T \le 100$)가 주어집니다. 이후 $T$개 줄에 자연수 $N$이 주어집니다.
출력 형식
각 테스트 케이스에 대해, 한 줄에 하나씩 각 자리수의 합이 $N$이 되는 가장 작은 생일수 하나를 출력합니다. 만약 존재하지 않는다면, -1을 출력합니다.
서브태스크
서브태스크 1 (14점)
- $1 \le N \le 10.$
서브태스크 2 (19점)
- $1 \le N \le 100.$
서브태스크 3 (26점)
- $1 \le N \le 1,000.$
서브태스크 4 (41점)
- $1 \le N \le 1,000,000.$
입력과 출력의 예
입력
3
11
16
12
출력
38
88
3333
Problem Source