ploffer11   5년 전

문제 입력:

첫째 줄에 5000자리 이하의 암호가 주어진다. 

 

문제 출력:

나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다.

암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다.


문제 설명에 따르면 "암호가 잘못되어 암호를 해석할 수 없는 경우에 0을 출력" 이라고 나와 있습니다.

제가 데이터를 확인해본 결과, "0" 이 입력으로 주어지고 있었습니다.

이 문제의 원문은

Input will consist of multiple input sets. Each set will consist of a single line of digits representing a valid encryption (for example, no line will begin with a 0). There will be no spaces between the digits. An input line of ‘0’ will terminate the input and should not be processed

로, 항상 "유효한 암호" 만 주어지며, 예를 들어 0으로 시작하는 데이터는 없다고 나와 있습니다.

번역하는 과정에서, 조금의 수정이 이루어지며, 0이라는 데이터가 추가 된 것으로 보이는데, 문제는


"0" 을 잘못된 암호로 해석한다면, "01" 도 잘못된 암호이며, "02", "0123151213123" 등 0으로 시작하는 모든 암호가 잘못된 암호라는 것입니다. 또한 "90", "900", "90012314123" 등 잘못된 암호가 너무 많습니다. (후자는 비교적 쉽게 처리가 되긴 합니다.)

그리고, 이는 이전 질문글에서도 나온 지적이지만, 입력으로 주어지는 0~9 사이의 정수로 이루어져 있다는 설명이 없어서, "....." 같은 이상한 스트링도 잘못 되어 해석할 수 없는 암호일 수 있습니다.


문제 설명을 그대로 이어가려면, 부족한 데이터인 "01234" "02" 등의 이상한 데이터를 추가해 주시고, 아니라면 문제 설명에 명확하게 조건을 추가해주시거나, 그것도 아니라면 원문을 그대로 따라가고, 정답이 0인 케이스를 없애주세요.

startlink   5년 전

문제 설명은 모호하지 않고, 이미 예전부터 원문을 따라가지 않고 있습니다.

데이터 추가 요청과 같게 처리합니다.

startlink   5년 전

재채점했습니다.

댓글을 작성하려면 로그인해야 합니다.