surung9898   3년 전

채점번호 20883004: https://www.acmicpc.net/source/20883004 (맞았습니다!)

채점번호 20883679: https://www.acmicpc.net/source/20883079 (런타임 에러)

본 문제의 서술에서는 "번호 안내판이 망가져서 몇 개의 전구가 켜지지 않는다"와 "현재 엘리베이터의 번호 안내판에 불이 들어와있는 전구와 불이 꺼져있는 전구(망가졌을 지도 모름)가 입력으로 들어온다"로 "번호판의 고장"을 정의하고 있습니다. 즉, "기존에는 불이 들어왔으나 불이 꺼져버린 전구"를 고장으로 정의하고 있습니다. 다시 말해, 기존에는 불이 들어오지 않았으나, 불이 들어오게 된 전구는 고장으로 정의하고 있지 않습니다.

따라서 본 문제에서는 '만들 수 있는 수가 없는' 테스트케이스는 존재하지 않아야 합니다. 이는, 고장나 불이 꺼져있는 전구가 다시 켜지게 된다면 반드시 고장나기 전 표시하였던 원래 수를 만들 수 있는 것에 기반합니다.

그러나 본 문제의 테스트케이스에서 "만들 수 있는 수가 없는 경우에 대해 -1을 출력하게 한" 테스트케이스가 존재함을 확인하였습니다. 관련사항은 채점번호 20883679의 89번째 줄을 참고하시면 되겠습니다.

이에, 테스트케이스를 확인해주시거나, 조건 포함 / 수식 및 모호한 표현 수정을 포함하여 문제 설명을 다음과 같이 수정하는 것을 건의드립니다.

<문제>

백은진은 0층부터 10n-1층까지 있는 아파트에 살고 있다. 이 아파트의 엘리베이터는 층 번호를 N개의 자릿수를 이용해서 표시한다. (만약 자릿수가 부족하면 앞에 0을 채운다.)

각 자릿수는 가로 5줄, 세로 3줄의 공간에 5 X 3개의 전구로 나타낼 수 있다. 다음은 일반적으로 통용되는 0부터 9까지의 수를 나타낸 것이다. 이때, '#'은 켜진 전구이고, '.'는 꺼진 전구이다.

###...#.###.###.#.#.###.###.###.###.###
#.#...#...#...#.#.#.#...#.....#.#.#.#.#
#.#...#.###.###.###.###.###...#.###.###
#.#...#.#.....#...#...#.#.#...#.#.#...#
###...#.###.###...#.###.###...#.###.###

그런데 지금 엘리베이터의 번호 안내판이 망가지는 바람에, 몇 개의 전구가 원래의 의도와 다르게 표시되어 지금이 몇 층인지 알 수가 없다. 즉, 현재 엘리베이터 번호 안내판의 일부 전구는 켜져있어야 함에도 꺼져 있을 수 있다.

현재 엘리베이터의 번호 안내판에 불이 들어와 있는 전구와 불이 꺼져있는 전구가 들어왔을 때, 현재 층으로 가능한 층들의 평균을 출력하는 프로그램을 작성하시오.

단, 번호 안내판을 제작한 사람이 아라비아 숫자 모양을 싫어하기 때문에, 아라비아 수 체계에서 사용하는 열 개의 숫자(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)를 원래의 모양과 다르게 표시하도록 번호 안내판을 제작했을 수도 있다! 이런 경우 제작자의 처음 의도와 상관없이, 현재 번호 안내판에 표시된 각 자릿수 형태를 상술된 0부터 9까지의 숫자 모양으로 기준하여 판별하도록 한다.

startlink   3년 전

수정했습니다.

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