크로스 워드 그리드의 번호를 올바르게 지정하는 프로그램을 작성하십시오.
입력
입력은 크로스 워드 그리드를 나타내는 파일 이름이됩니다. 입력 파일 이름은 인수, 표준 입력 또는 하드 코딩 이외의 다른 일반적인 수단으로 전달 될 수 있습니다.
그리드 파일 형식 : 텍스트 파일. 첫 번째 줄은 공백으로 구분 된 두 개의 정수 상수 M
와로 구성 N
됩니다. 그 라인 다음에는 에서 선택된 문자 (및 새로운 라인) M
로 구성된 라인이 N
있습니다 [#A-Z ]
. 이 문자들은 '#'
차단 된 사각형, ' '
알려진 내용이없는 퍼즐의 열린 사각형 및 해당 문자를 포함하는 열린 사각형 을 나타내는 것으로 해석 됩니다.
산출
출력은 번호 매기기 파일이되고 표준 출력, 입력 파일 이름에서 파생 된 파일, 사용자 지정 파일 또는 기타 일반 대상으로 전송 될 수 있습니다.
번호 매기기 파일 형식 텍스트 파일입니다. '#'으로 시작하는 줄은 무시되며 주석에 사용될 수 있습니다. 다른 모든 행은 탭 분리 삼중 포함 i
, m
, 숫자를 그리드 상에 인쇄 될 나타내고, 및 이 인쇄되어야하는 정사각형의 행과 열을 표현한다. 행과 열의 수는 1부터 시작합니다.n
i
m
n
번호 체계
올바르게 번호가 매겨진 그리드에는 다음과 같은 속성이 있습니다.
- 번호 매기기는 1부터 시작합니다.
- 열린 정사각형의 열 또는 스팬은 번호가 없습니다. (문제에 단일 문자 답변이 없다고 가정 할 수 있습니다.)
- 왼쪽에서 오른쪽으로 각 행을 가져 가면서 맨 위부터 맨 아래까지 스캔하면 숫자가 순서대로 표시됩니다. 따라서 모든 가로 범위는 맨 왼쪽 정사각형에 번호가 매겨지고 모든 열은 맨 위 정사각형에 번호가 매겨집니다.
테스트 입력 및 예상 출력
입력:
5 5
# ##
#
#
#
## #
출력 (주석 무시) :
1 1 2
2 1 3
3 2 2
4 2 4
5 2 5
6 3 1
7 3 4
8 4 1
9 4 3
10 5 3
곁에
이것은 여러 낱말 관련 문제가되기를 희망하는 첫 번째 것입니다. 전체적으로 일관된 파일 형식 집합을 사용하고 프로세스에서 적절한 크로스 워드 관련 유틸리티 제품군을 구축 할 계획입니다. 예를 들어, 다음 퍼즐은이 퍼즐의 입력과 출력을 기반으로 크로스 워드의 ASCII 버전을 인쇄해야합니다.
'\n'
모든 플랫폼에서 c 와 같이 표시됩니다 . 입력 파일은 처리 할 시스템과 동일한 시스템에서 생성되었으므로이 문제는 투명해야합니다. 코드 골프에 대한 일반적인 참고 사항 : 이상한 언어로 작업하거나 이상한 플랫폼에서 작업하는 경우 독자를 놀라게 할 수있는 것을 기록하십시오. 사람들은 귀하의 제출을 판단 할 때이를 허용합니다.