소개
탄 그램 은 블록을 다양한 모양으로 배열 / 맞춤하는 고전 퍼즐입니다. 중국어에서 From-문자 그대로 "일곱 기술 보드"를 의미합니다. 이 아이디어를 가지고 7 개의 Tetrominos 조각을 사용하여 격자를 채우자.
도전
그리드 좌표 배열을 입력으로 받아 지정된 좌표를 제외하고 Tetris 조각으로 채워진 10 x 20 그리드를 출력하는 함수 또는 프로그램을 작성하십시오.
조각 분포를 균일하게 유지하여 점수를 최적화하십시오.
기준
사용 이 페이스트 빈 당신의 작업을 수행 할 좌표를. 5 개의 좌표 세트가 있습니다. 좌표가 쓰여지는 형식을 자유롭게 수정하고 값은 수정하지 마십시오.
데이터 세트 # 2는 풀 수 없습니다.이 경우 입력 셀이 채워진 상태로 그리드를 출력하십시오 (예 : X구멍이있는 위치).
입력
그리드 좌표는 그리드의 '구멍'을 나타냅니다. 이들은 Tetromino의 일부를 포함 할 수없는 세포입니다.
그리드 좌표 :
(0,0), (1,0), (2,0), ... (9,0)
(0,1), (1,1), (2,1), ... (9,1)
.
.
.
(0,19), (1,19), (2,19), ... (9,19)
프로그래밍 언어의 배열 스타일을 사용하여 좌표를 입력하십시오.
인쇄 가능한 ASCII
X또는 다른 ASCII로 그리드의 구멍을 나타 냅니다.
산출
너비가 10 셀 , 높이가 20 셀인 표준 Tetris 그리드 크기를 사용하여 Tetromino 조각을 사용하여 그리드를 완벽하고 완벽하게 채울 수있는 경우에만 솔루션 그리드를 인쇄하십시오.
문자로 구성 조각 I, O, L, J, T, Z, S등 다음과 같습니다 :
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
예
입력 좌표가없는 출력 솔루션 예 :
ZZIIIILLLI
JZZTTTLLLI
JJJSTLOOLI
SZZSSLOOLI
SSZZSLLJJI
TSOOSLLJII
TTOOSSLJII
TZOOSSLZII
ZZOOSSZZII
ZJJJJSZLLI
TTTJJOOILI
ITZJJOOILI
IZZTTTLIII
IZOOTZLIII
IJOOZZLLII
LJJJZSSTII
LLLTSSTTTI
LLLTTSSZJI
OOLTSSZZJI
OOIIIIZJJI
다음과 같이 배포합니다.
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
11 6 8 6 6 7 6
노트
좌표는 그리드 에서 단일 X및 Y위치를 나타냅니다 . 그리드는 0을 기준으로하며 좌표 (0,0)는 작성자의 선택에 따라 왼쪽 상단 또는 왼쪽 하단 셀이어야합니다.
벽돌은 할 수 있습니다 :
- 저자의 재량에 따라 선택됩니다.
- 저자가 적합하다고 생각되면 회전하십시오.
- 저자의 판단에 따라 그리드에 배치 (일명 테트리스 중력)
벽돌은 할 수 없습니다 :
- 그리드의 경계 바깥에 배치하십시오.
- 그리드의 기존 벽돌 또는 구멍과 겹칩니다.
- 비표준 테트리스 테트로 미노 조각이어야합니다.
채점
당신의 점수는 다음과 같은 형식입니다 :
(1000-[코드 바이트]) * (M / 10 + 1)
여기서 M은 솔루션 세트에 사용 된 조각 분포에 대한 승수입니다.
3 월 Ides의 최고 점수가 승리합니다.
M을 계산하려면 각 세트에 대해 가장 낮은 개별 테트로 미노 분포 값을 더한 다음 평균을 반올림하여 M을 계산하십시오.
예를 들면 다음과 같습니다.
Set 1: 5
Set 2: 4
Set 3: 5
Set 4: 6
Set 5: 3
6 + 4 + 5 + 4 + 4 = 21/5 = 4.6
따라서 당신은 4당신의 M 가치 로 사용 합니다.
참고 : 세트에 해가없는 경우 테트로 미노 분포가 없으므로 M을 계산하도록 설정된 것을 고려하지 마십시오.