介绍
七巧板是经典的难题,涉及将积木排列/装配成各种形状。来自中文七巧板-字面意思是“七个技巧板”。让我们采用这个想法,并使用七个Tetrominos块填充网格。
挑战
编写一个函数或程序,该函数或程序将网格坐标数组作为输入,并输出一个完整的10 x 20的网格,其中填充有俄罗斯方块,但指定坐标除外。
通过尝试保持片段分布均匀来优化您的分数。
标准
使用此坐标粘贴框完成任务。有五组坐标。随意修改写入坐标的格式,但不要修改值。
数据集#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)
使用您的编程语言选择的数组样式输入坐标。
用
X
或其他可打印的ASCII表示网格中的孔。
输出量
使用标准Tetris网格大小(宽10单元,高20单元),当且仅当使用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)
应该是作者选择的左上角或左下角单元格。
砖可以:
- 由作者酌情选择。
- 按照作者认为合适的方式旋转。
- 由作者自行决定将其放置在网格上的任何位置(又名:无俄罗斯方块引力)
砖块不能:
- 放置在网格边界之外。
- 与网格中的现有砖块或孔重叠。
- 是非标准的俄罗斯方块Tetromino棋子。
计分
您的分数格式为:
(1000-[代码字节])*(M / 10 +1)
其中,M是用于分配解决方案集中的部分的乘数。
最高的三月之分获胜。
要计算M,请为每组添加最低的单个tetromino分布值,然后将平均值四舍五入以计算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的因数,因为它不会有Tetromino分布。