我目前正在生成锦标赛括号系统,但我无法为以下内容提出一个好的算法:
我有一个列表,其中 TournamentRound 如下所示:
public class TournamentRound
{
public int TotalAtBeginning { get; set; }
public int TotalAfterRound { get; set; }
public int EntriesPerMatch { get; set; }
public int WinnersPerMatch { get; set; }
}
我确实有轮次的一代,并且知道所有的价值观。例如:
Round 1: 12 Participants, 4 Entries per Match, 2 Winners: 6 in the end
Round 2: 6 Participants, 2 Entries per Match, 1 Winner: 3 in the end
Round 3: 3 Participants, 3 Entries per Match, 1 winner: END
以下是我的问题:
假设最终 pdf 的一页上只有 6 个框有空间。 给定页面和框的固定大小,我如何计算框的位置?
编辑澄清!
我画了下图来展示上面提到的那 3 轮的输出会是什么样子。问题是例如:只有 6 个盒子有空间可以放在一页的高度上,这意味着在某些轮次中必须以某种方式进行分页。
如果有帮助,我正在考虑构建一个树状结构,其中每个节点都保存它的位置以及它在哪个页面(1、2、3 ...)上。