问题描述:
对于一个小图形程序,我想在任意数量的图块中分割任意大小的画布,而图块应该是二次的并且尽可能大。 当然,在顶部和底部都会有边界 - 或 - 在侧面,它们应该留空。
**given:**
width
height
tiles_nr
**wanted:**
tile_size
tiles_nr_x
tiles_nr_y
示例:
我的画布为800x600像素。我想在那个区域放置30块瓷砖。 一块瓷砖有多大?而且:瓷砖如何按行和列分布?
到目前为止我的建议:
tile_nr_x * tile_nr_y = tiles_nr
tile_nr_x * tile_size <= width
tile_nr_y * tile_size <= height
这些方程式是否足以确定变量? 如何在程序代码中解决和实现这个方程组?
答案 0 :(得分:0)
您可以尝试使用树形图。对切片进行排序并选择第一个并在树中创建一个节点。在两个轴上拆分树并选择下一个图块并找到最适合的节点。