셜록 홈즈
시간 제한1초메모리 제한1024 MB
각 달마다 N1 = 달 + 10, 한 자리 수 s, 그리고 N 이하의 조건을 만족하는 N3를 이어 붙인 다섯 자리 수 중 두 수의 합으로 나누어지는 것의 개수를 세고, 주어진 달에 대해 N3가 가장 작은 세 수를 출력한다.
문제
라초는 수집가다. 그는 《셜록 홈즈》 시리즈의 각 권을 정확히 한 권씩 가지고 있다. 권수는 N권이고, 1부터 N까지의 정수로 번호가 매겨져 있다.
라초는 매달 시리즈에서 서로 다른 세 권을 읽으려고 한다. 권을 고르기 위해 그는 다음 규칙을 따른다. 연초에 라초는 한 자리 수 s(1부터 9까지)를 무작위로 정하고, 권을 나란히 놓아
- 첫 번째 권의 번호 N1은 현재 달의 번호(1, 2, …, 12)에 10을 더한 수로 정한다.
- 두 번째 권의 번호 N2는 라초가 정한 수 s이다.
- 세 번째 권으로 라초는 나머지 권 중에서 하나를 택하는데, 그 번호 N3는 한 자리 수가 아니고 어떤 달의 번호에 10을 더해서도 나올 수 없어야 한다.
- N1, N2, N3의 숫자를 차례로 이어 붙여 얻는 다섯 자리 수는 N1, N2, N3 중 어떤 두 수의 합으로 나누어떨어져야 한다.
프로그램 sherlok을 작성하여, 일 년의 각 달에 대해 위 규칙으로 얻을 수 있는 서로 다른 다섯 자리 수의 개수를 구하시오. 또한 프로그램은 라초가 어느 권을 읽어야 할지 알 수 있도록 현재 달의 N1, N2, N3 값을 출력해야 한다. 그러한 값의 삼중항이 둘 이상이면 N3가 가장 작은 삼중항 하나를 출력한다. 그러한 삼중항을 하나도 찾을 수 없으면 0 세 개를 공백 하나로 구분해 출력한다.
입력
표준 입력의 첫째 줄에 세 정수 N, s, M이 주어진다. N은 권수, s는 라초가 정한 수, M은 현재 달의 번호이다.
출력
표준 출력의 처음 열두 줄에 일 년의 각 달에 대해 해당하는 경우의 수를 차례로 한 줄에 하나씩 출력한다. 마지막 줄에 라초가 현재 달에 읽을 세 권의 번호를 공백 하나로 구분해 출력한다.
제한
- 23 ≤ N ≤ 9999
- 1 ≤ s ≤ 9
- 1 ≤ M ≤ 12