소개
탄 그램 은 블록을 다양한 모양으로 배열 / 맞춤하는 고전 퍼즐입니다. 중국어에서 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을 계산하도록 설정된 것을 고려하지 마십시오.